正在格式化请求标头值

本文关键字:请求 格式化 | 更新日期: 2023-09-27 18:26:06

试图弄清楚是否需要转义头值中的字符。就像下面的例子一样,我将OAuth的头部授权发送到服务器资源:

“PUT /api/v1/articles/6.json HTTP/1.1'r'nAccept: /'r'nUser-Agent: OAuth gem v0.4.5'r'nContent-Length: 9'r'nContent-Type: application/x-www-form-urlencoded'r'nAuthorization: OAuth oauth_consumer_key='”nMu4u9pLRfDrxhPVK5yn'“, oauth_nonce='”5346IG1e5bV3ytQwdFqkP8Rgr0VJiA9Xb4FE0'“, oauth_signature='”64545G%2Byp%2F2BsqJ%2BUUgbjIIIV9E%3D'“, oauth_signature_method='”HMAC-SHA1'“, oauth_timestamp='”1330022891'“, oauth_token='”ivouGxpsJbyIU5viPKOO'“, oauth_version='”1.0'“'r'nConnection: close'r'nHost: someHostNameHere'r'n'r'n”

现在,我将它(我的授权集合的值部分)作为一个大字符串发送过来,如下所示,表示我的授权密钥值:

"OAuth oauth_consumer_key=Mu4u9pLRfDrxhPVK5y, oauth_nonce=5346IG1e5bV3ytQwdFqkP8Rgr0VJiA9Xb4FE0, oauth_signature=64545G%2Byp%2F2BsqJ%2BUUgbjIIIV9E%3D, oauth_signature_method=HMAC-SHA1, oauth_timestamp=1330022891, oauth_token=ivouGxpsJbyIU5viPKOO, oauth_version=1.0"

正在格式化请求标头值

以下是我的操作方法:

var url = "https://somedomain.com/resource/v1/";
var request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "text/xml";
var oAuthHeader = "OAuth oauth_consumer_key=Mu4u9pLRfDrxhPVK5y, oauth_nonce=5346IG1e5bV3ytQwdFqkP8Rgr0VJiA9Xb4FE0, oauth_signature=64545G%2Byp%2F2BsqJ%2BUUgbjIIIV9E%3D, oauth_signature_method=HMAC-SHA1, oauth_timestamp=1330022891, oauth_token=ivouGxpsJbyIU5viPKOO, oauth_version=1.0";
request.Headers.Add("Authorization", oAuthHeader);
var response = request.GetResponse();

不确定为什么要构建自己的原始HttpRequest。显然,您会调用一些函数来生成OAuth头值,这只是示范性的。