最近写后端的时候,发现了一个问题
平时,鉴权的时候都只是用到http 的 GET方法:
static const char* pt_auth_url = "GET /iapppay/tokencheck?appid=11111&token=12jkjl1j12k12#$%^& HTTP/1.1\r\n" "User-Agent: zerofuck\r\n" "Host: baidu.com\r\n" "Accept: text/html\r\n" "Connection: close\r\n\r\n";
今天的鉴权 竟然是用POST 方法的,我还以为只是将GET 改成POST 就可以了
度娘找到一个例子, 再对比GET和POST的异同,最后发现:
static const char* pt_auth_url = "POST /iapppay/tokencheck HTTP/1.1\r\n" "User-Agent: zerofuck\r\n" "Content-Type: application/x-www-form-urlencoded \r\n" // 多了这个 "Content-Length: data.Length\r\n" // 这里是内空的大小 "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1)\r\n" // 多了这个 "Host: %s\r\n" "Accept: */*\r\n" "Connection: Keep-Alive\r\n\r\n" "data\r\n\r\n"; // 这里是要发的内容
最后成功完成!
时间: 2024-10-18 15:54:00