2008-12-14 10 views
0

J'essaie la commande suivante sur ma coquille:cURL ne semble pas se comporter correctement ici

boucle -b usptoCookies -L -d « patentNum = 6836866 & applicationNum = 10007391 & maintFeeAction = Get + bibliographique + données & maintFeeYear = 04 "https://ramps.uspto.gov/eram/getMaintFeesInfo.do;jsessionid=0000Nmdd1Q_YsDF90HKmb9EIIgq:11g0uehq7

Joli straighforward. Il tente d'afficher quelques variables dans un formulaire. Vous pouvez voir la page Web ici: https://ramps.uspto.gov/eram/

Essayez de mettre dans le numéro de brevet et le numéro de demande comme: 6836866 et 10007391. Ensuite, appuyez sur le bouton Get Bibliographic Data.

La page Web retourne des choses (une table au format "proprement"), mais l'appel curl semble rencontrer "un certain" problème. Je n'arrive pas. J'ai utilisé firebug sur le navigateur pour confirmer que les trois vars ci-dessus sont tout ce qui est nécessaire pour remplir le formulaire.

Ce n'est pas un problème avec https, parce que j'obtiens une réponse en retour. J'ai besoin d'aide.

Quelqu'un?

Shaheeb Roshan

+0

Avez-vous fatigué de mettre l'URL entre guillemets? – some

Répondre

2

Il y a un tas d'autres champs cachés sous cette forme, y compris une « signature ». Ce qui semble être une chaîne unique chaque fois que vous demandez une page. C'est probablement une fonctionnalité utilisée pour s'assurer que vous n'écrasez pas toutes les informations de leur base de données.

Lorsque j'ai vidé le champ de signature cachée, il a renvoyé une erreur. Si vous voulez écrire un programme pour aller chercher cette information, vous devrez probablement faire quelque chose d'un peu plus compliqué, et aller chercher la page avec la "signature" dessus, donc vous pouvez poster cette valeur sur le site pour obtenir un réponse appropriée.

+0

En effet. En outre, comme «certains» suggéré, vous devez mettre l'URL entre guillemets (en raison du point-virgule). – mweerden

0

Je pensais que cela pourrait être le cas, donc sur l'un de mes éraflures, je l'ai fait sortir le contenu d'une page que je pourrais ouvrir dans mon navigateur. Cela m'a permis de manipuler les éléments du formulaire et de me soumettre à nouveau pour voir si la suppression de certains champs cachés affecterait le message. Lorsque j'ai ouvert la page et supprimé tous les champs masqués (y compris sessionId, signature et loadtime), j'ai quand même réussi à soumettre le formulaire pour obtenir une réponse valide. En pensant que cela peut pointer vers un cookie ou un problème lié à la session, j'ai allumé Selenium (à travers le paquet Testing_Selenium) et tenté la même éraflure. L'idée était que puisque Selenium utilise réellement un vrai navigateur, tout problème de session/cookie devrait être éliminé.

Lorsque la course de sélénium a échoué de la même manière que la course de roulage, j'étais à la fin de mon esprit.

J'espérais que quelqu'un pourrait voir quelque chose d'étrange ou d'inhabituel sur cette page qui pourrait expliquer l'échec.

Merci pour votre contribution, qu'en pensez-vous?

Shaheeb R.

Questions connexes