0

我正在尝试将 HTTP 请求发布到可通过友好 URL 地址访问的 HTML 表单。
但是当我发布它时,库返回错误代码“提供的错误 URL”。

HINTERNET hRequest = HttpOpenRequest(hConn, L"POST", L"newform",
                     NULL, L"http://www.example.com/add/newform/",
                     rgpszAcceptTypes, NULL, NULL);
DWORD error_code   = GetLastError();
bool hResult       = HttpSendRequestW(hRequest,NULL,NULL,NULL,NULL);
error_code         = GetLastError(); //12005 - bad URL provided  

我做错了什么,为什么我的请求失败?

4

1 回答 1

2

服务器名称(上述示例中的 www.site.com)必须在对 InternetConnect 的调用中指定,协议 (INTERNET_SERVICE_HTTP) 也必须指定。

在对 HttpOpenRequest 的调用中,您只需给出“对象”的名称,在本例中为“/add/newform/”。

例如(为了更清楚而添加):

HINTERNET hConn = InternetConnect(hInternet, L"www.site.com", INTERNET_DEFAULT_HTTP_PORT,
    NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
HINTERNET hRequest = HttpOpenRequest(hConn, L"POST", L"/add/newform", NULL, NULL,
    rgpszAcceptTypes, NULL, NULL);
于 2012-09-02T03:48:51.273 回答