天道酬勤,学无止境

cfhttp

如何通过 cfhttp 模拟真实的 http 请求?(How to emulate a real http request via cfhttp?)

问题 我需要通过 cfhttp 模拟一个真正的 http 请求。 我正在使用 ColdFusion 获取 rss 提要,但今晚他们开始阻止我的请求并发送索引页作为响应而不是 rss 提要。 我为 cfhttp 添加了用户代理,但它没有帮助。 Opera、Firefox 和 Chrome 从同一台计算机上正确打开提要。 回答1 是的,谢谢。 我嗅探了浏览器发送到站点的所有 HTTP 标头,然后在 cfhttp 请求中模拟它们。 解决办法是: <cfhttp url="http://example.com/feed" useragent="Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.7 (KHTML, like Gecko) Chrome/5.0.391.0 Safari/533.7" result="httpresult" redirect="false" > <cfhttpparam type="header" name="HTTP_REFERER" value="http://example.com/feed/" > <cfhttpparam type="header" name="Accept-Encoding" value="gzip,deflate,sdch" > <cfhttpparam type=

2021-09-19 19:04:23    分类:技术分享    coldfusion   httpwebrequest   httprequest   cfhttp

如何使用 CFHTTP ( ColdFusion 10 ) 使用 action=PATCH 进行 HTTP 调用(How to make HTTP call with action=PATCH using CFHTTP ( ColdFusion 10 ))

问题 我正在集成 iCIMS 的 REST API,发现一些 REST API 调用需要 http 动词 PATCH。 但是,ColdFusion 10 似乎不支持。 有没有办法解决? 回答1 这是直到 ColdFusion 11 更新 3 才添加的。 大多数 API 服务允许您使用 POST 而不是 PATCH。 从 iCIMS 的文档看来,他们也接受 POST 或 PATCH。 回答2 也在此处使用 iCIMS API,但在 CF 9 上,因此不支持 PATCH。 但我确实发现你可以做一个 POST 然后用一个额外的头覆盖它:X-HTTP-Method-Override: PATCH 在 iCIMS API 上,需要使用 PATCH 方法来更新一些数据,而不是创建新条目的 POST。 所以像下面这样的东西应该可以工作。 <cfhttp method="post" url="api.icims.com/customers/1234/people/1289/fields/phones/332"> <cfhttpparam type="header" name="Authorization" value="Basic #auth_string#" > <cfhttpparam type="header" name="X-HTTP-Method-Override" value=

2021-09-18 17:48:38    分类:技术分享    coldfusion   cfhttp

使用coldfusion进行屏幕抓取(screen scraping using coldfusion)

问题 我正在尝试使用 Coldfusion 中的以下代码对另一个应用程序进行屏幕抓取。 <cfhttp url="https://intra.att.com/itscmetrics/EM2/LTMR.cfm" method="get" username="uvwxyz" password="abcdef"> <cfhttpparam type="url" name="LTMX" value="Andre Fuetsch / Shelly K Lazzaro"> </cfhttp> <cfset myDocument = cfhttp.fileContent> <cfoutput> #myDocument# </cfoutput> 现在,当我运行我的 cfm 页面时,我可以使用上面的代码访问目标页面。 目标页面如下所示。 部分源代码如下。 <table border="1" width=99% style="border-collapse:collapse;"> <thead> <td colspan="12" class="drpmainheader1_2">LTM Detail Report for Andre Fuetsch / Shelly K Lazzaro</td> <tr align="center"> <th class="ptitles">Liaison Name<

2021-09-13 13:14:30    分类:技术分享    coldfusion   screen-scraping   cfhttp

Create Wufoo webhook with PUT request in ColdFusion

I'm having troubles with building correct PUT request to the Wufoo. In all my attempts I see the same error: 404 A WebHook must contain a url parameter. Here is the version with JSON data type: <cfset local.action = "forms/#local.formHash#/webhooks.json" /> <cfset local.request = {"url" : local.webHookURL, "handshakeKey" : local.webHookKey} /> <cfset local.request["handshakeKey"] = local.webHookKey /> <cfhttp url="#local.baseURL##local.action#" method="put" username="#local.apiKey#" password="#local.apiPass#"> <cfhttpparam type="header" name="Content-Type" value="application/json; charset=UTF

2021-09-09 04:59:57    分类:问答    coldfusion   cfhttp   webhooks   wufoo

How to access a variable name in ColdFusion that contains a special character

For example I have the following bit of code: <cfhttp url="FileURL" method="get" result="HTTPResult" timeout="5" /> And I want to do this: <cfoutput> #HTTPResult.ResponseHeader.content-type# </cfoutput> However ColdFusion will see the dash - as an operator and try to subtract variables "HTTPResult.ResponseHeader.content" from "type", and neither exists. Is there a direct way to access the "content-type" variable or do I need to jump through hoops to fetch it out of the header variable?

2021-09-03 04:07:41    分类:问答    variables   coldfusion   cfhttp

如何在 cfhttp 上 throwonerror=true 时获取 cfhttp.filecontent?(how to get cfhttp.filecontent when throwonerror=true on cfhttp?)

问题 我让使用REST服务调用cfhttp与throwonerror属性设置为true。 当我使用 try/catch 语句捕获错误时,我似乎无法找到输出 REST 服务调用试图返回的错误的方法,这些错误将驻留在cfhttp.filecontent变量中。 我也尝试将结果放入变量中。 Coldfusion 一直告诉我 cfhttp 和那个变量不存在。 当引发异常时,似乎调用及其结果被抛出门外。 我已经阅读了一些关于设置throwonerror=false并自己捕获状态代码的建议,但这似乎是愚蠢的工作。 有没有人对此有任何想法? <cftry> <cfhttp url="#restUrl##arguments.method#/#arguments.params#" charset="utf-8" throwonerror="true" result="haha" /> <cfcatch type="any"> <cfdump var="#haha#" /> <cfdump var="#cfcatch#" abort /> </cfcatch> </cftry> 更新:我已按照 Adamn 的建议向 Adob​​e 提交了错误报告:https://bugbase.adobe.com/index.cfm?event=newBug。 我可以确认它适用于 Railo,但不适用于 CF10。

2021-09-01 17:32:16    分类:技术分享    coldfusion   coldfusion-10   cfhttp

screen scraping using coldfusion

I am trying to screen scrape another application using the below code in Coldfusion. <cfhttp url="https://intra.att.com/itscmetrics/EM2/LTMR.cfm" method="get" username="uvwxyz" password="abcdef"> <cfhttpparam type="url" name="LTMX" value="Andre Fuetsch / Shelly K Lazzaro"> </cfhttp> <cfset myDocument = cfhttp.fileContent> <cfoutput> #myDocument# </cfoutput> Now when I run my cfm page, iam able to access the desitination page, with the above code. The destination page looks like below. A part of the source code of this is as below. <table border="1" width=99% style="border-collapse:collapse;">

2021-08-31 18:56:14    分类:问答    coldfusion   screen-scraping   cfhttp

How to make HTTP call with action=PATCH using CFHTTP ( ColdFusion 10 )

I was integrating a REST API of iCIMS and found some of the REST API calls need the http verb PATCH. However, it seems ColdFusion 10 doesn't support that. Is there any way around this?

2021-08-30 12:44:07    分类:问答    coldfusion   cfhttp

请求已超过允许的时间限制标签:cfhttp(The request has exceeded the allowable time limit Tag: cfhttp)

问题 我每天都面临这个问题。 我有一个应用程序,它通过cfhhtp调用/请求从夜间计划作业中的各种应用程序中捕获大量数据。 这里的问题是它调用了“广泛的范围列表”来捕获数据,不幸的是我们不能限制范围:( 任务中设置的超时是 9000 秒(已经相当高了),但它仍然说超时在cfhttp标签 “请求已超过允许的时间限制标签:cfhttp”。 我不知道cfhttp是如何工作的,但是应该有一些解决方案,如果它从各种范围捕获很长时间的数据,它不应该抛出错误并继续工作直到最后一个请求。 <cfset dynVarName = "funded" & bizforShort> <cfif structKeyExists(variables,dynVarName)> <cfset howManyCustomScopes = listLen(structkeylist(variables[dynVarName],"|" ),"|" )> <cfmodule template="#Request.Library.CustomTags.VirtualPath#Scheduler_LogDetail.cfm" Step="Funded Level Cache" Detail="Custom Scopes to be cached: #howManyCustomScopes#" LogData=""><

2021-08-30 08:40:25    分类:技术分享    coldfusion   cfhttp

cfhttp dns 解析(cfhttp dns resolution)

问题 我正在尝试让 CFHTTP 与我在测试服务器上为测试目的而创建的域进行通信。 域的地址是“mydomain.example.com”。 每次我尝试使用 cfhttp 连接时,我都会收到一条错误消息: Your requested host "mydomain.example.com" could not be resolved by DNS. 我已经在 windows 主机文件中添加了条目。 mydomain.example.com 127.0.0.1 我还确保 java.net.InetAddress 可以通过在 Coldfusion 页面中执行以下操作来解析域: <cfset loc.javaInet = createObject("java","java.net.InetAddress")> <cfset loc.dnsLookup = loc.javaInet.getByName("mydomain.example.com")> 这是为了回来 mydomain.example.com/127.0.0.1 我什至尝试启动和停止 Coldfusion 服务并将 runtime\jre\lib\security\java.security 中的 networkaddress.cache.ttl 的值更改为 0。 我不明白为什么一切似乎都在 jre 级别解决,而不是在

2021-08-12 13:07:14    分类:技术分享    coldfusion   cfhttp