2012-01-06 115 views
0

我试图使用C#连接到REST API。 我能够成功做一些GET请求,但POST不断给我401认证错误。能够获得身份验证但不通过POST身份验证

我已经取得了进展,并下载提琴手,这就是我的要求是这样的:

GET(工程)

请求头

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(隐而不宣” t工作)

请求标头

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

你写了webservice还是别人?它看起来像你说的一样,如果有一些方法认证他们 – 2012-01-06 03:53:54

+0

但我发送身份验证的详细信息。 – soldieraman 2012-01-06 06:06:37

回答

0

我会查阅该特定URL的API文档。 GET请求只是简单地请求数据的只读版本,POST请求意味着您正在对某个URL进行更改,所以API可能允许GET请求而不进行身份验证,但需要对POST请求进行身份验证。

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