我遇到cfhttp
的问题,因为它非常慢,问题是我正在调用网站登录然后获取cookie并再次调用相同的URL来获取DATA。
这是我的代码,如果我尝试使用cfthread
我会失去一点,我将如何做到这一点,任何样本都会很棒
anotehr示例是:我正在尝试代码
http://blog.1smartsolution.com/index.cfm/action:posts.entry/id:267/CFHTTP-Frustration.html
但这似乎没有保留cookie,我尽我所能地尝试,但它没有发生,因为我的java知识不是很大,
请指导我,这是我正在尝试的代码:
<cfset cURL ="http://www.example.com/username=abc&password=xyz">
<cfhttp url="#cURL#" resolveurl="true" method="get">
<cfhttpparam type="Header" name="Accept-Encoding" value="deflate;q=0">
<cfhttpparam type="Header" name="TE" value="deflate;q=0">
</cfhttp>
<cfset st_cookies = cfhttp.responseHeader['Set-Cookie'] />
<cfset st_temp = REReplace(st_cookies, ";.*", "")>
<cfset st_cookieName = listfirst(st_temp,'=')>
<cfset st_cookievalue = listlast(st_temp,'=')>
<cfset cURL = cURL>
<cfhttp url="#cURL#" method="get" throwOnError="Yes" resolveurl="true" result="objget">
<cfhttpparam type="cookie" name="#st_cookieName#" value="#st_cookievalue#">
</cfhttp>
当我使用博客链接的方式做同样的事情时,它对我说Object Moved
。
会发生什么,它只是登录,然后移动到另一个页面
答案 0 :(得分:1)
Ben Nadel(www.bennadel.com)创建了一个很棒的CFC来维护请求之间的cookie和会话,这些CFC在GitHub(https://github.com/bennadel/CFHTTPSession.cfc)上托管。
如果您需要等待登录然后请求数据,我不确定线程是否可以帮助您加快速度。除非您只是不希望页面等待任何页面,否则您可以将整个过程包装在一个帖子中。
如果你要检索的服务器造成的延迟比你想要的更多,那么速度可能是不可避免的。