Ich versuche, das Java-HTML-Dokument ein wenig zu verbessern, aber ich habe Probleme mit der HttpUrlConntion
. Eine Sache ist, dass einige Server eine Anfrage blockieren, wenn der Benutzeragent eine Java VM ist. Ein weiteres Problem ist, dass die HttpUrlConnection
nicht das Referrer
oder Location
Header-Feld setzt. Da mehrere Websites diese Felder verwenden, um zu verifizieren, dass der Inhalt von ihrer eigenen Site aus aufgerufen wurde, bin ich auch hier blockiert. Soweit ich sehen kann, ist die einzige Lösung, den URL-Handler des HTTP-Protokolls zu ersetzen. Oder gibt es eine Möglichkeit, den Standard-HTTP-Handler zu ändern?Wie man den Header einer HttpUrlConnection ändert
Antwort
Öffnen Sie die URL
mit URL.openConnection
. Optional zu HttpURLConnection
gegossen. Rufen Sie URLConnection.setRequestProperty
/addRequestProperty
.
Der Standardwert für den User-Agent-Header wird über die Systemeigenschaft "http.agent"
festgelegt. Mit PlugIn und WebStart können Sie diese Eigenschaft festlegen.
Wenn Sie Apache HttpClient verwenden, um Ihre programmatische HTTP-Konnektivität zu verwalten, erhalten Sie eine äußerst nützliche API, die das Erstellen von Verbindungen (und optional automatisches erneutes Verbinden bei fehlgeschlagen), Festlegen von Kopfzeilen, Posts vs Abrufen, praktische Methoden zum Abrufen des zurückgegebenen Inhalts und viel viel mehr.
Ich weiß, dass dieser Beitrag alt ist, aber wenn jemand liest es: HttpURLConnection ist jetzt gegenüber HttpClient bevorzugt, siehe [dieser Blog-Beitrag] (http://android-developers.blogspot.com/2011/09/androids-http-clients. html) für Informationen. – kamituel
Ich löste mein Problem. Wir können den Header einfach an die Anwendung/json senden und den Body als JSON-Objekt übergeben. Das löst das Problem einfach.
- 1. Wie ändert man Header dynamisch?
- 2. angularjs ng-grid: Wie ändert man den Header-Stil
- 3. Wie ändert man den Widgets-Wert von Navigation Header dynamisch?
- 4. Wie ändert man NavigationView Header Hintergrund programmatisch?
- 5. Get Header von HttpURLConnection Objekt
- 6. Setzen benutzerdefinierter Header mit HttpURLConnection
- 7. Wie ändert man den Schemanamen?
- 8. Wie man den Anwendungskontext ändert
- 9. Wie ändert man den Inhaltstyp in PHP?
- 10. HttpURLConnection GET Anfrage mit http-Header "Accept"
- 11. Wie ändert man den Namen der tabcontrol
- 12. Wie ändert man den Array-Schlüssel, mit einer einfachen Summierung?
- 13. Wie ändert man den Spaltentyp im Farbton einer Bienenstock-Tabelle?
- 14. Wie ändert man den Wert einer Objekteigenschaft in actionscript3?
- 15. Wie ändert man den Fenstertitel einer MATLAB-Plotfigur?
- 16. SQL Server: Wie ändert man den Namen in einer Ansicht?
- 17. Wie ändert man den Namen einer UCM-Aktivität dauerhaft?
- 18. Wie man den Text einer h1 Box ändert
- 19. neo4j cypher: Wie man den Typ einer Beziehung ändert
- 20. Wie ändert man den Rückgabewert einer Methode in Intellij?
- 21. Wie man den Text eines Textlabels in einer Spielszene ändert
- 22. Wie man Farbe ändert oder Header auf Bigcartel entfernt
- 23. Wie ändert man HTTP-Header für einen bestimmten Inhaltstyp?
- 24. Wie kann ich HttpUrlConnection wiederverwenden?
- 25. Wie ändert man die Farbe der Papier-Scroll-Header-Panel?
- 26. Wie ändert man den ActiveXObject JS Konstruktor?
- 27. Highstocks - Wie man den Standard Zoom ändert
- 28. Wie ändert man den Raphael-Text?
- 29. Wie ändert man den Feldtyp in Ecto?
- 30. Taschenlampe - Wie ändert man den Tensortyp?
Stellen Sie sicher, dass Sie gegebenenfalls zwischen addRequestProperty und setRequestProperty unterscheiden. Die Set-Variante überschreibt jeden vorhandenen Header mit demselben Schlüssel. Die add-Variante fügt eine zusätzliche Instanz der Kopfzeile hinzu, falls bereits eine vorhanden ist. – laz
Fügt 'addRequestProperty' eine neue Zeile hinzu (mit anderen Worten, die Anfragen haben 2 Zeilen mit ** identischen ** Schlüsseln) oder fügt sie ein Komma und den neuen Wert an die bestehende Zeile an? – Pacerier
@leoger Danke für die Hilfe = D – Pacerier