• 締切済み

vbaからHTTP POST送信しても途中までしかレスポンスが返らない

Excel2003 VBAからマクロでHTTP POST通信を行いたいと思いますが、リターンコードが200でも979バイトしか取得できません。原因わかる方教えてください。通信状況に関係なく979バイトです。 Dim URL As String Dim WinHttp As Object Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1") URL = "http://wwww.aaa.com/login" WinHttp.Open "POST", url, False WinHttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" WinHttp.Send "&username=test&password=abc" If WinHttp.Status < 200 And WinHttp.Status > 399 Then GetUrl = False Exit Function End If MsgBox WinHttp.Status MsgBox WinHttp.ResponseText 取得したデータの最後は <td>&nbsp;&nbsp;&n です。 何卒宜しくお願いします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

訂正: ×username=test の次に、&password= とくっつけていますが、よろしいのでしょうか? 今、確認したら、これは良かったのでした。その後、Click とかするものを付け加えるのではないでしょうか。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 質問されてから時間がたっているので、トライ&エラーはくりかえしてはいると思いますが、 >WinHttp.Send "&username=test&password=abc" 原因はここしかないと思います。書式は、それでよいのでしょうか?username=test の次に、&password= とくっつけていますが、よろしいのでしょうか?それが、正しいかどうかは、こちらはなんとも言えません。

関連するQ&A

専門家に質問してみよう