プロが教える店舗&オフィスのセキュリティ対策術

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>&n
です。
何卒宜しくお願いします。

A 回答 (2件)

訂正:


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

こんにちは。



質問されてから時間がたっているので、トライ&エラーはくりかえしてはいると思いますが、

>WinHttp.Send "&username=test&password=abc"

原因はここしかないと思います。書式は、それでよいのでしょうか?username=test の次に、&password= とくっつけていますが、よろしいのでしょうか?それが、正しいかどうかは、こちらはなんとも言えません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!