Heim  >  Artikel  >  Backend-Entwicklung  >  Wie melde ich mich mit Curl, Cookies und SSL bei der mobilen Website von Barnes & Noble an?

Wie melde ich mich mit Curl, Cookies und SSL bei der mobilen Website von Barnes & Noble an?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 03:32:03240Durchsuche

How to Log into Barnes & Noble's Mobile Website Using Curl, Cookies, and SSL?

Verwenden von Curl zum Anmelden mit SSL, Cookies und POST

Hintergrund

Diese Untersuchung konzentriert sich auf die Anmeldung bei der mobilen Website von Barnes & Noble mit Curl, Es treten jedoch Schwierigkeiten aufgrund der Verwendung von SSL und Cookies auf.

Lösung

Um das Problem zu beheben, ziehen Sie die folgenden Anpassungen in Betracht:

  1. URL-Kodierung: Kodieren Sie die URL-Parameter (z. B. E-Mail und Passwort) in der POST-Anfrage.
  2. Einbeziehung von X-Werten: Fügen Sie den X-Wert in die Anmelde-URL ein (wie von der Startseite extrahiert). ).

Arbeitsbeispiel

Der folgende Code integriert diese Anpassungen in ein Arbeitsbeispiel:

// Constants
$EMAIL = '[email protected]';
$PASSWORD = 'yourpassword';
$COOKIE_FILE = "/tmp/cookies.txt";
$LOGIN_URL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?stage=signIn";
$AGENT = "Nokia-Communicator-WWW-Browser/2.0 (Geos 3.0 Nokia-9000i)";

// Curl Initialization
$ch = curl_init();

// Basic Headers
$headers = ["Accept: */*", "Connection: Keep-Alive"];

// Curl Options
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, $AGENT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $COOKIE_FILE);
curl_setopt($ch, CURLOPT_COOKIEJAR, $COOKIE_FILE);

// Step 1: Initialize with Login URL
curl_setopt($ch, CURLOPT_URL, $LOGIN_URL);
curl_exec($ch);

// Step 2: Extract Form Fields
$content = curl_getinfo($ch);
$fields = getFormFields($content);

// Populate Form Fields
$fields['emailAddress'] = $EMAIL;
$fields['acctPassword'] = $PASSWORD;

// Extract X Value
$loginUrl = "https://cart2.barnesandnoble.com/mobileacct/op.asp?x={$x}";

// Construct POST Fields
$postFields = http_build_query($fields);

// Update Login URL and POST Options
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);

// Perform Login and Retrieve Result
$result = curl_exec($ch);
print $result;

Externe Ressourcen

Für weitere Unterstützung Berücksichtigen Sie bei der Verwendung von Curl die folgenden zusätzlichen Ressourcen:

  • [Android Market Mylibrary mit Curl abrufen](https://stackoverflow.com/questions/4940264/retrieve-android-market-mylibrary-with-curl )
  • [Mehrere Aktionen mit Curl](https://stackoverflow.com/questions/6032527/multiple-actions-with-curl)
  • [Senden von XML und Headern über Curl](https ://stackoverflow.com/questions/2149671/sending-xml-and-headers-via-curl)
  • [Mit PHP und Curl bei Google anmelden, Cookie deaktiviert?](https://stackoverflow. com/questions/1794383/login-to-google-with-php-and-curl-cookie-turned-off)
  • [Pinterest-Anmeldung mit PHP und cURL funktioniert nicht](https://stackoverflow.com /questions/13597892/pinterest-login-with-php-and-curl-not-working)

Das obige ist der detaillierte Inhalt vonWie melde ich mich mit Curl, Cookies und SSL bei der mobilen Website von Barnes & Noble an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn