cfhttp问题因为它很慢,尝试替代方案

时间:2015-03-11 04:08:36

标签: java coldfusion cfhttp

我遇到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

会发生什么,它只是登录,然后移动到另一个页面

1 个答案:

答案 0 :(得分:1)

Ben Nadel(www.bennadel.com)创建了一个很棒的CFC来维护请求之间的cookie和会话,这些CFC在GitHub(https://github.com/bennadel/CFHTTPSession.cfc)上托管。

如果您需要等待登录然后请求数据,我不确定线程​​是否可以帮助您加快速度。除非您只是不希望页面等待任何页面,否则您可以将整个过程包装在一个帖子中。

如果你要检索的服务器造成的延迟比你想要的更多,那么速度可能是不可避免的。