1

C#コンソールアプリケーションから、URI更新要求を発行したいと思います。次のように:

http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.testdomain.com&myip=1.2.3.4 

私は以下を試しました:

string url = "http://username:password@dynupdate.no-ip.com/nic/update? hostname=mytest.testdomain.com&myip=1.2.3.4";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 5000;

しかし、私はInvalid URI: The format of the URI could not be determined.エラーを取得しています。

どこが間違っていたのか、何か考えはありますか?上記のように完全なURLをWebブラウザーに入力すると、期待どおりに機能しますが、C#アプリケーションを介して例外がスローされます。

これを実装する他の方法はありますか?

4

3 に答える 3

4

いくつかのクレデンシャルを作成してリクエストに追加してから、ユーザー名/パスワードを渡さずにURIにアクセスする必要があります。

詳細情報:方法:WebRequestクラスを使用してデータを要求する(具体的には、資格情報に関するセクション)

例えば;

var uri = new Uri("http://somesite.com/something");
var request = WebRequest.Create(uri) as HttpWebRequest;
request.Credentials = new NetworkCredential("myUserName","myPassword");
request.PreAuthenticate = true;
于 2012-08-13T07:12:42.703 に答える
2

このウェブページをご覧ください。これはあなたが言及しているものですか? http://www.no-ip.com/integrate/request/

URLをhttp://dynupdate.no-ip.com/nic/updateとして使用する必要があると思います

次に、ChrisBintが述べたようにクレデンシャルを送信します。そして、設定をbase64に設定する必要があります...そのためのプロビジョニングがある場合+記事に記載されているUserAgentのようないくつかのヘッダー。

于 2012-08-13T08:25:18.507 に答える
0
Encode the URL argument, check the below example

string url = "http://www.stackoverflow.com?question=" + HttpUtility.UrlEncode("a sentence with spaces");

WebRequest r = WebRequest.Create(url);
于 2012-08-13T07:19:03.663 に答える