2016-05-16 17 views
-1

Ich habe nach ähnlichen "403" -Threads gesucht, konnte aber keine Antwort finden.403 Fehler bei HTTP-Anfrage

Ich habe die folgende URL, die gültig und Arbeits ist - www.investing.com/equities/apple-computer-inc-earnings

Und mein Code:

Sub GetSourceCode() 

    Dim XMLHTTP As Object 
    Dim URL As String 
    Dim data As String 

    URL = "http://www.investing.com/equities/apple-computer-inc-earnings" 
    Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1") 
    XMLHTTP.Open "GET", URL, False 
    XMLHTTP.send 
    data = XMLHTTP.responseText 
End Sub 

jedoch die Zeichenfolge "Daten" mit einem "403 Forbidden" Fehler zurückgegeben wird statt der Quellcode, den ich versuche zu erreichen.

Jede Lösung oder eine Problemumgehung (oder eine doppelte Referenz) würde sehr geschätzt werden.

Dank

+1

Was Sie in dieser Zeichenfolge abzurufen versuchen? Sie erwarten auf keinen Fall, dass Sie alles, was Sie auf der Website sehen, in diese Zeichenfolge aufnehmen. Darf ich vorschlagen, dass Sie sich diese Lösung anschauen und es ausprobieren: http://stackoverflow.com/questions/8798260/html-parsing-of-cricinfo-scorecards/8846791#8846791 Auch wenn diese Lösung nicht verwendbar ist könnte Ihnen zumindest helfen, die Artikel, die Sie von der Website abrufen möchten, besser zu identifizieren. – Ralph

+0

Danke, ich werde das untersuchen, aber ich möchte auch hinzufügen, dass, wenn die URL durch URL = "http://www.google.com" ersetzt wird, es wie erwartet funktioniert und der Quellcode vollständig in der Zeichenfolge gespeichert wird. Natürlich interessiert mich nur ein kleines Stück Daten aus dieser Zeichenfolge, aber zuerst muss ich es komplett herunterladen, oder? – David912

+0

Kurze Antwort: Nein, Sie müssen nicht die gesamte Website herunterladen. – Ralph

Antwort

0

Set-Request-Header kurz vor .send

XMLHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"