Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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# WebClient.UploadString在I';我在写一篇文章_C#_System.net - Fatal编程技术网

C# WebClient.UploadString在I';我在写一篇文章

C# WebClient.UploadString在I';我在写一篇文章,c#,system.net,C#,System.net,这是一个奇怪的问题,我不知道发生了什么。我有一个调用api的测试项目。最近,当我调用一个非https网站(即http)时,它似乎将我的动词从“POST”改为“GET”。我的代码是 response = client.UploadString(URL, "POST", myItemsObject); 在我的API上,我要做的第一件事就是记录请求,包括动词 Doh!我想出来了。。。在我的web服务器上的web.config <sessionState cookieless="AutoDete

这是一个奇怪的问题,我不知道发生了什么。我有一个调用api的测试项目。最近,当我调用一个非https网站(即http)时,它似乎将我的动词从“POST”改为“GET”。我的代码是

response = client.UploadString(URL, "POST", myItemsObject);

在我的API上,我要做的第一件事就是记录请求,包括动词

Doh!我想出来了。。。在我的web服务器上的web.config

<sessionState cookieless="AutoDetect" mode="InProc" />


这导致AspXautoDetectCookiesSupport=1作为查询字符串的一部分在URL中传递。因此,它以GET而不是PUT的形式访问web服务器。我更改了cookieless=“false”,它可以工作。

但是,当URL是http:///时,动词是“GET”。
如果您尝试在Postman中执行完全相同的操作,会发生什么?我猜您要发布到的端点正在重定向到https(并切换以进入该过程)。对于我的http://呼叫,Postman可以很好地工作。我做了一个wireshark跟踪,动词表示它正在传递一个“GET”。动词似乎正在更改请共享一个。为什么会出现此问题?如果https有效-为什么不总是使用https?
我做了一个wireshark跟踪,它传递的动词是“GET”
wireshark for Postman与您的WebClient.UploadString有何不同?