4

コード(UnityのWebPlayer)を実行する必要がある環境からこれにアクセスできないため、HttpWebRequestに依存しないC#HTTPライブラリが必要です。

理想的にはこれは軽量ですが、どんな提案でも大歓迎です!

単純なHTTPGETおよびPOSTリクエストを実行できる必要がありますが、RESTサポートが優れているとよいでしょう。

ありがとう!

編集:人々が指摘しているように、HttpWebRequestはSystem.Webにはありませんが、事実は残っています-私はそれを使用できません。上記の投稿を更新しました。

この投稿 http://forum.unity3d.com/threads/24445-NotSupportedException-System.Net.WebRequest.GetCreatorは、私が得ているのと同じエラーを示しています。

4

3 に答える 3

3

Socketを使用して独自の単純なHTTPクライアントを実装することは、それほど難しいことではありません。

TcpClient()を使用するだけです。

プロトコル自体については、リクエストごとの接続パラダイムにドロップダウンします。一般的なGETリクエストは次のようになります。

GET /url HTTP/1.1
Host: <hostname-of-server>
Connection: close

コード自体(メモリから)

TcpClient client = new TcpClient();
IPEndPoint target = ... // get an endpoint for the target using DNS class
client.Connect(target);

using(NetworkStream stream = client.GetStream())
{
// send the request.
string request = "GET /url HTTP/1.1\r\nConnection: close\r\n\r\n";
stream.Write(Encoding.ASCII.GetBytes(request));

// then drain the stream to get the server response
}

このコードを、セマンティクスのようなHTTPWebRequestを提供する単純なクラスでラップする必要があることに注意してください。

于 2011-04-07T02:44:49.437 に答える
1

を見てくださいSystem.Net.HttpWebRequest

にありSystem.dllます。

ドキュメント: http: //msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx

HttpRequestにありSystem.Webます。これはおそらくあなたが考えていたものです。

于 2011-04-06T14:31:38.540 に答える
1

HttpWebRequestSystemアセンブリ内にあり、ではありません( ASP.NETで使用されているものとSystem.Web混同している可能性があります)。HttpRequestすべての.NETFrameworkバージョン(Silverlight、WP7、およびクライアントプロファイルを含む)で使用できます。

于 2011-04-06T14:31:39.970 に答える