• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:System.Net.HttpWebRequest、もしくはSystem.Net.Sockets を使ったネットワークプログラミングについて(C#))

C#ネットワークプログラミングで問題が発生しています

このQ&Aのポイント
  • C#のネットワークプログラミングにおいて、HttpWebRequestおよびSocketsクラスを使用して一般的なWeb操作を行おうとしています。
  • HttpWebRequestクラスを使用した場合、ログインは成功しますが、2回目の操作でログイン状態が保持されずに問題が発生します。
  • Socketsクラスを使用した場合も、ログインがうまくいかず、Sendメソッドを呼び出した時点でAvailableプロパティの値が常に0になります。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

> ログインした状態が保持できない状態でのPOSTとなり、うまくいきませんでした。 フォーム認証であれば、Cookieの面倒を見る必要があります。 > Socketsの時はhandshakeプロトコルは見られず、POSTメッセージを平文で投げています。 Socketsクラスが、自動的にSSLによるhandshakeプロトコルでやりとりしてくれるのを期待しているのでしょうか? おそらく自前でやる必要があるとおもいます。 > こうした方が簡単、分かりやすい WebBrowserクラスをつかうのが簡単です。

ssssssssss
質問者

お礼

todo36さん、早速の回答ありがとうございました。 アドバイスを頂いてから、今日までいろいろコツコツと 試行錯誤しておりました。 まずSocketsクラスによる手法は「私には敷居が高いな。」 と判断して即、諦めました。 次に、WebBrowserクラスを試してみようと思い、いろいろ 調べてみました。すると、このクラスはフレームワーク2.0 からのサポートのようで、自身が使っているのは基本が1.0 であるNET2002でした。そしてここでもdllのバージョンを 2.0に切替える術が分からず断念してしまいました。 で、最後に最初に挑戦したHttpWebRequestクラスでのCookie の面倒をみてみることにしました。 これがやっとうまくいきました。ありがとうございました。 誠に厚かましいお願いですが、上記にある参照フレームワーク のバージョンを変更する手段をご存知でしたらご回答頂けない でしょうか。 よろしくお願い致します。

関連するQ&A

専門家に質問してみよう