ColdFusion CFHTTP Post est en train de faire une deuxième requête GET juste après
-
09-09-2019 - |
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
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.)