Maison >développement back-end >tutoriel php >Pourquoi ma connexion Curl à Barnesandnoble.com échoue-t-elle avec SSL et les cookies ?

Pourquoi ma connexion Curl à Barnesandnoble.com échoue-t-elle avec SSL et les cookies ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-15 12:35:02263parcourir

Why is my Curl login to Barnesandnoble.com failing with SSL and cookies?

Dépannage de connexion sur Barnesandnoble.com en utilisant Curl avec SSL et cookies

Introduction

Vous rencontrez des problèmes de connexion au site mobile de Barnesandnoble.com en utilisant Curl avec SSL et cookies. Malgré un code fonctionnel pour eBay, la connexion échoue spécifiquement sur Barnesandnoble.com, qui utilise HTTPS.

Analyse et solution

Le code d'origine présentait deux problèmes potentiels :

  1. Paramètres URLEncode : L'e-mail et le mot de passe dans la chaîne POST doivent être codés en URL pour garantir un paramètre correct. gestion.
  2. Valeur x : L'URL de connexion peut nécessiter un paramètre x, qui a été extrait de la réponse HTML initiale.

Le code révisé ci-dessous répond à ces problèmes. problèmes :

// ... Your previous code ...

// URLEncode POST parameters
$fields['emailAddress'] = urlencode($EMAIL);
$fields['acctPassword'] = urlencode($PASSWORD);

// Get x value from initial page
$x = '';
if (preg_match('/op\.asp\?x=(\d+)/i', $content, $match)) {
    $x = $match[1];
}

// Set login URL with x parameter
$LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?x=$x";

// ... Your previous code ...

Ce code mis à jour se connecte avec succès à Barnesandnoble.com. Une fois que vous avez obtenu les cookies, vous pouvez créer des objets Curl ultérieurs en utilisant les mêmes options COOKIEFILE et COOKIEJAR pour conserver l'état de connexion sans authentification supplémentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn