Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# URI更新请求_C# - Fatal编程技术网

C# URI更新请求

C# URI更新请求,c#,C#,在我的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

在我的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;
我尝试了以下方法:

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;
但是,我得到,
无效URI:无法确定URI的格式。
错误

知道我哪里出错了吗?我将如上所示的完整url输入到web浏览器中,它会按预期工作,但通过C#应用程序,它会引发异常


是否有其他方法来实现此功能?

您需要创建一些凭据并将其添加到请求中,然后在不传递用户名/密码的情况下访问URI

有关更多信息:(特别是有关凭据的部分)

比如,

var uri = new Uri("http://somesite.com/something");
var request = WebRequest.Create(uri) as HttpWebRequest;
request.Credentials = new NetworkCredential("myUserName","myPassword");
request.PreAuthenticate = true;

您需要创建一些凭据并将其添加到请求中,然后访问URI,而无需传入用户名/密码

有关更多信息:(特别是有关凭据的部分)

比如,

var uri = new Uri("http://somesite.com/something");
var request = WebRequest.Create(uri) as HttpWebRequest;
request.Credentials = new NetworkCredential("myUserName","myPassword");
request.PreAuthenticate = true;

只要看看这个网页。这就是你所指的吗?

我认为你需要使用url作为

然后发送ChrisBint提到的凭证。您需要将首选项设置为base64…如果有相关规定的话
+文章中提到的一些标题,如UserAgent。

只要看看这个网页就可以了。这就是你所指的吗?

我认为你需要使用url作为

然后发送ChrisBint提到的凭证。您需要将首选项设置为base64…如果有相关规定的话
+文章中提到的一些标题,如UserAgent。

您是否可以尝试对URL进行如下编码@VamsiMohanJayanti我已经测试过,但它会抛出“URI前缀无法识别”异常。您是否可以尝试对URL进行如下编码@VamsiMohanJayanti我已经测试过,但它会抛出,“URI前缀不可识别”异常。是的,我已对此进行了研究,但不确定其实现。例如,在我的情况下,URI是“?hostname=mytest.testdomain.com&myip=1.2.3.4“。如何确保用户名和密码设置在uri的前面?设法做到这一点。它将自动分配。感谢您的帮助。是的,我已经研究了这一点,但不确定实现。例如,在我的情况下,uri是“?hostname=mytest.testdomain.com&myip=1.2.3.4”。如何确保将用户名和密码设置到uri的前面?已设法做到这一点。它将自动分配。感谢您的帮助。