0

わかりやすいURLアドレスからアクセスできるHTMLフォームにHTTPリクエストを投稿しようとしています。
しかし、投稿すると、ライブラリは「不正な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) は、プロトコル (INTERNET_SERVICE_HTTP) と同様に、InternetConnect への呼び出しで指定する必要があります。

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 に答える