Question

J'utilise ColdFusion 8.

Je fais un CFHTTP post à un serveur distant. Le site distant a regardé leurs journaux et ils disent que fait mon code du POST, puis faire immédiatement une 2ème requête GET.

Voici mon code (l'URL a été modifiée):

<cfhttp url="https://www.theurlofthesite.com" method="POST" port="443" resolveurl="yes" redirect="yes">
<cfhttpparam type="FORMFIELD" name="type" value="SALES">
<cfhttpparam type="FORMFIELD" name="account" value="10003">
<cfhttpparam type="FORMFIELD" name="Submit" value="Submit+Request">
</cfhttp>

<Cfoutput>#cfhttp.fileContent#</CFOUTPUT>

<cfdump var="#cfhttp#">

Est-ce que quelqu'un a une idée pourquoi ils voient une 2ème requête GET juste après mon post? il est bousiller la session et non returing la page correctement à cause de cela (nous pensons)

Je suis certainement pas faire une requête GET, je ne fais que celui POST.

merci,

Rich

Était-ce utile?

La solution 4

OK, je suis passé à un serveur CF 5, et il a cessé de faire la 2ème GET. il fait juste un POST maintenant, il pourrait être une bizarrerie avec CF 8.

Autres conseils

Je suppose que la raison pour laquelle vous obtenez la deuxième GET est que votre CFOUTPUT affiche le contenu de la page récupérée dans le navigateur, puis quand une image ou quelque chose de ce contenu est rendu à partir de la page récupérée, il agit comme un GET.

Rappelez-vous que CFHTTP n'est pas stateful. Je veux dire par que chaque demande avec CFHTTP va créer une nouvelle session. Vous pouvez obtenir CFHTTP de poursuivre une session existante en passant dans CFID / CFTOKEN jusqu'au bout CFHTTPPARAM dans la demande. Cela pourrait expliquer vos problèmes de session.

redirect="false" //maybe?

Je ne sais pas ... Depuis le doc a dit ...

  

Si l'en-tête de réponse comprend une   champ Emplacement et ColdFusion reçoit   un état (redirection) 300-series   code, spécifie si redirect   l'exécution de l'URL spécifiée dans la   champ.

Si vous utilisez Firefox, assurez-vous que vous avez Firebug et YSlow désactivé pour votre demande. Ils le feu à votre urls deux fois pour mettre en place leurs données et peut être un vrai problème quand vous ne savez pas qu'ils font.

, essayez de le REDIRECT à moins que vous devez aussi il.

Est ce code dans une balise CF personnalisée? Si oui, alors appeler

<mytag>...</mytag>

ou

<mytag />

Appelle la balise personnalisée DEUX FOIS! (Une fois la balise de début et une fois pour la fin.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top