0

HTMLページを取得しようとしていて、ヘッダーをリクエストに入れたいと思っています。このコードを実行しようとしました。

 WebClient client = new WebClient();
 WebHeaderCollection coll = new WebHeaderCollection() { { "user-agent", "test" } };
 client.DownloadStringCompleted += client_DownloadStringCompleted;
 string url = API_URL + pagenum;
 client.DownloadStringAsync(new Uri(url));

http://msdn.microsoft.com/en-us/library/system.net.webheadercollection.aspxには add 関数がないため、このコードは無効です。

client.Headers["user-agent"] = "xyz"

これも仕事ではありません。ユーザーエージェントを変更できないなどのエラーが発生しました。誰かがそれを修正する方法を教えてくれます。

私を助けることができるものは何も見えません。これがここに重複している場合。その投稿を私に向けてください。

4

1 に答える 1

0

Silverlightのドキュメントによると、WebHeaderCollectionユーザー エージェントは変更できない制限付きフィールドとしてリストされているため、変更する方法はないようです。

一部の一般的なヘッダーは制限されていると見なされ、直接公開されるか (Content-Type など)、システムによって保護され、WebHeaderCollection オブジェクトで設定または変更することはできません。HttpWebRequest オブジェクトに関連付けられた WebHeaderCollection オブジェクトでこれらの制限付きヘッダーのいずれかを設定しようとすると、例外がスローされます。WebClient オブジェクトに関連付けられた WebHeaderCollection オブジェクトでこれらの制限付きヘッダーのいずれかを設定しようとすると、後で WebClient 要求を送信しようとしたときに例外がスローされます。

これらの制限付きヘッダーの多くは、Silverlight アプリケーションをホストする Web ブラウザーによって設定されます。

于 2013-06-30T19:13:26.367 に答える