能够进行身份验证但不能进行POST身份验证

时间:2012-01-06 03:44:07

标签: web-services authentication rest curl

我正在尝试使用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));

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

我会查阅该特定网址的API文档。 GET请求只是请求只读版本的数据,POST请求暗示您正在对某个URL进行更改,因此API可能允许GET请求而无需身份验证,但需要对POST请求进行身份验证。

在您的情况下,我会猜测您的身份验证不正确,但它只是在GET请求中被忽略,因为它不需要身份验证。