我正在尝试使用C#连接到REST API。 我能够成功地做一些GET请求,但POST一直给我401认证错误。
我已经开始下载了fiddler,这就是我的要求:
获取(作品)
请求标题
GET https: //hello.myurl.com/api HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: Basic ***************************************************************************************************
Host: hello.myurl.com
-
POST(不起作用)
请求标题
POST https: //hello.myurl.com/api HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: application/xml
Authorization: Basic ***************************************************************************************************
Host: hello.myurl.com
Content-Length: 12
请求正文
status=hello
( * 同样使用
String authinfo = "username:password";
Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo));
任何想法为什么?
答案 0 :(得分:0)
我会查阅该特定网址的API文档。 GET请求只是请求只读版本的数据,POST请求暗示您正在对某个URL进行更改,因此API可能允许GET请求而无需身份验证,但需要对POST请求进行身份验证。
在您的情况下,我会猜测您的身份验证不正确,但它只是在GET请求中被忽略,因为它不需要身份验证。