Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.06.2018, 19:32
bennyutzer bennyutzer ist offline
Neuer Besucher
 
Registriert seit: 04.06.2018
Beiträge: 1
Standard curl HTTP Header und Body

Guten Tag,

ich mache meine ersten Schritte mit cURL und habe in den diversen manuals keine konklusive Antwort auf dieses Problem gefunden. ich möchte folgenden HTTP-Request für eine login-prozedur in PHP mit cURL nachbauen:

Code:
https://example.com/login
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
Referer: https://example.com/login
DNT: 1

utf8=?&auth_token=abcdefghijklmnopqrstuvwxyz&user=username&pw=password


dieser request besteht aus header und body. ich habe schon mehrere wege gefunden, wie ich die header-attribute in cURL definieren kann, aber wie bringe ich zusätzlich den Body dazu?

mein bisheriger code:
PHP Quellcode:
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_URL => 'https://example.com/login',
  CURLOPT_POST => 1,
  CURLOPT_POSTFIELDS => array(
    Host => 'example.com',
    User-Agent => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0'
    Accept => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    Accept-Language => 'de,en-US;q=0.7,en;q=0.3'
    Accept-Encoding => 'gzip, deflate, br'
    Content-Type => 'application/x-www-form-urlencoded'
    Content-Length => '77'
    Referer => 'https://example.com/login'
    DNT => '1'
  )
));
$response = curl_exec($curl);


ich habe online gelesen, dass ich mit CURLOPT_POSTFIELDS einen body definieren kann. zb so:

PHP Quellcode:
curl_setopt($ch, CURLOPT_POSTFIELDS,     "body goes here" );


wenn ich diesen befehl hier einfügen würde, würden dann nicht die oben definierten POSTFIELDS überschrieben? ich möchte die oben stehenden header-Attribute UND einen body in cURL definieren.

danke für hilfreiche hinweise

Grüße
benny
Mit Zitat antworten
  #2  
Alt 04.06.2018, 21:25
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.898
Standard AW: curl HTTP Header und Body

PHP Quellcode:
CURLOPT_POSTFIELDS => array(
    Host => 'example.com',
    User-Agent => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0'
    Accept => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    Accept-Language => 'de,en-US;q=0.7,en;q=0.3'
    Accept-Encoding => 'gzip, deflate, br'
    Content-Type => 'application/x-www-form-urlencoded'
    Content-Length => '77'
    Referer => 'https://example.com/login'
    DNT => '1'
  )

äh. Grundlagen nochmal anschauen wäre angebrachter. Das sind header-felder und keine post felder. Also die musst du als header definieren und nihct als postfields. Davon abgesehen das die keys in diesem array in Anführungszeichen gehören.

und den body dann eben bei postfields, genau.

Lg Kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
curl postfields, header, body djrace PHP 1 20.03.2013 16:58
Curl HTTP-Upload - Wie? sNuuu PHP 6 17.09.2009 16:42
CURL upload (http) MarGre PHP 2 31.03.2009 23:37
Body der gestellten HTTP-Anfrage ausgeben Matneu PHP 4 22.06.2007 12:25
CURL "Failed writing body". Vegeta PHP 4 04.05.2006 15:33


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:52 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC