当前位置: 首页 > news >正文

有哪些网站可以做外贸网络营销策略案例分析

有哪些网站可以做外贸,网络营销策略案例分析,哪个网站diy做宝宝衣服,网页排版设计素材目录 背景描述 用浏览器访问,正常返回 ​编辑 AHK v2官方示例源代码 AHK v2运行结果报错(0x80092004) 找不到对象或属性 用thqby大佬的WinHttpRequest.ahk库测试报错 0x80092004 找不到对象或属性 附: 用Apifox访问,也正常返回 AHK v1 …

目录

背景描述

 用浏览器访问,正常返回

​编辑

 AHK v2官方示例源代码

 AHK v2运行结果报错(0x80092004) 找不到对象或属性

用thqby大佬的WinHttpRequest.ahk库测试报错 0x80092004 找不到对象或属性

附:

用Apifox访问,也正常返回

AHK v1 官方示例源代码

AHK v1运行失败报错 0x80092004 找不到对象或属性

用Msxml2.XMLHTTP则能正常得到结果



背景描述

想通过ahk编程,获取 https://autohotkey.com/download/2.0/version.txt  的文件内容。

在确认用浏览器可以正常访问情况下,用官方帮助中的示例运行会报错 Error: (0x80092004) 找不到对象或属性。用 thqby大佬的 WinHttpRequest.ahk 网络请求库 https://github.com/thqby/ahk2_lib/blob/master/WinHttpRequest.ahk  也报同样错误。

求指点

 用浏览器访问,正常返回

 AHK v2官方示例源代码

whr := ComObject("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", "https://autohotkey.com/download/2.0/version.txt", true)
whr.Send()
whr.WaitForResponse()
version := whr.ResponseText
MsgBox version

 AHK v2运行结果报错(0x80092004) 找不到对象或属性

如果把参数 true改为 false ,报错如下:

用thqby大佬的WinHttpRequest.ahk库测试报错 0x80092004 找不到对象或属性

/************************************************************************* @file: WinHttpRequest.ahk* @description: 网络请求库* @author thqby* @date 2021/08/01* @version 0.0.18***********************************************************************/#Requires AutoHotkey v2.0
whr := WinHttpRequest()
whr.Open("Get", "https://www.autohotkey.com/download/2.0/version.txt", True)
whr.Send()
whr.WaitForResponse()
MsgBox whr.ResponseTextclass WinHttpRequest {static AutoLogonPolicy := {Always: 0,OnlyIfBypassProxy: 1,Never: 2}static Option := {UserAgentString: 0,URL: 1,URLCodePage: 2,EscapePercentInURL: 3,SslErrorIgnoreFlags: 4,SelectCertificate: 5,EnableRedirects: 6,UrlEscapeDisable: 7,UrlEscapeDisableQuery: 8,SecureProtocols: 9,EnableTracing: 10,RevertImpersonationOverSsl: 11,EnableHttpsToHttpRedirects: 12,EnablePassportAuthentication: 13,MaxAutomaticRedirects: 14,MaxResponseHeaderSize: 15,MaxResponseDrainSize: 16,EnableHttp1_1: 17,EnableCertificateRevocationCheck: 18,RejectUserpwd: 19}static PROXYSETTING := {PRECONFIG: 0,DIRECT: 1,PROXY: 2}static SETCREDENTIALSFLAG := {SERVER: 0,PROXY: 1}static SecureProtocol := {SSL2: 0x08,SSL3: 0x20,TLS1: 0x80,TLS1_1: 0x200,TLS1_2: 0x800,All: 0xA8}static SslErrorFlag := {UnknownCA: 0x0100,CertWrongUsage: 0x0200,CertCNInvalid: 0x1000,CertDateInvalid: 0x2000,Ignore_All: 0x3300}__New(UserAgent := unset) {(this.whr := ComObject('WinHttp.WinHttpRequest.5.1')).Option[0] := IsSet(UserAgent) ? UserAgent : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68'}request(url, method := 'GET', post_data?, headers := {}) {this.Open(method, url)for k, v in headers.OwnProps()this.SetRequestHeader(k, v)this.Send(post_data?)return this.ResponseText}enableRequestEvents(Enable := true) {static vtable := init_vtable()if !Enablereturn this._ievents := this._ref := 0if this._ieventsreturnIConnectionPointContainer := ComObjQuery(pwhr := ComObjValue(this.whr), '{B196B284-BAB4-101A-B69C-00AA00341D07}')DllCall('ole32\CLSIDFromString', 'str', '{F97F4E15-B787-4212-80D1-D380CBBF982E}', 'ptr', IID_IWinHttpRequestEvents := Buffer(16))ComCall(4, IConnectionPointContainer, 'ptr', IID_IWinHttpRequestEvents, 'ptr*', IConnectionPoint := ComValue(0xd, 0))	; IConnectionPointContainer->FindConnectionPointIWinHttpRequestEvents := Buffer(3 * A_PtrSize)NumPut('ptr', vtable.Ptr, 'ptr', ObjPtr(this), 'ptr', ObjPtr(IWinHttpRequestEvents), IWinHttpRequestEvents)ComCall(5, IConnectionPoint, 'ptr', IWinHttpRequestEvents, 'uint*', &dwCookie := 0)	; IConnectionPoint->Advisethis._ievents := { __Delete: (*) => ComCall(6, IConnectionPoint, 'uint', dwCookie) }static init_vtable() {vtable := Buffer(A_PtrSize * 7), offset := vtable.Ptrfor nParam in StrSplit('3113213')offset := NumPut('ptr', CallbackCreate(EventHandler.Bind(A_Index), , Integer(nParam)), offset)vtable.DefineProp('__Delete', { call: __Delete })return vtablestatic EventHandler(index, this, arg1 := 0, arg2 := 0) {if (index < 4) {IEvents := NumGet(this, A_PtrSize * 2, 'ptr')if index == 1NumPut('ptr', this, arg2)if index == 3ObjRelease(IEvents)else ObjAddRef(IEvents)return 0}req := ObjFromPtrAddRef(NumGet(this, A_PtrSize, 'ptr'))req.readyState := index - 2switch index {case 4:	; OnResponseStarttry req.OnResponseStart(arg1, StrGet(arg2, 'utf-16'))case 5:	; OnResponseDataAvailabletry req.OnResponseDataAvailable(NumGet((pSafeArray := NumGet(arg1, 'ptr')) + 8 + A_PtrSize, 'ptr'),NumGet(pSafeArray + 8 + A_PtrSize * 2, 'uint'))case 6:	; OnResponseFinishedtry req._ref := 0, req.OnResponseFinished()case 7:	; OnErrortry req.readyState := req._ref := 0, req.OnError(arg1, StrGet(arg2, 'utf-16'))}}static __Delete(this) {loop 7CallbackFree(NumGet(this, (A_Index - 1) * A_PtrSize, 'ptr'))}}};#region IWinHttpRequest https://learn.microsoft.com/en-us/windows/win32/winhttp/iwinhttprequest-interfaceSetProxy(ProxySetting, ProxyServer, BypassList) => this.whr.SetProxy(ProxySetting, ProxyServer, BypassList)SetCredentials(UserName, Password, Flags) => this.whr.SetCredentials(UserName, Password, Flags)SetRequestHeader(Header, Value) => this.whr.SetRequestHeader(Header, Value)GetResponseHeader(Header) => this.whr.GetResponseHeader(Header)GetAllResponseHeaders() => this.whr.GetAllResponseHeaders()Send(Body?) => (this._ievents && this._ref := this, this.whr.Send(Body?))Open(verb, url, async := false) {this.readyState := 0this.whr.Open(verb, url, async)this.readyState := 1}WaitForResponse(Timeout := -1) => this.whr.WaitForResponse(Timeout)Abort() => (this._ref := this.readyState := 0, this.whr.Abort())SetTimeouts(ResolveTimeout := 0, ConnectTimeout := 60000, SendTimeout := 30000, ReceiveTimeout := 30000) => this.whr.SetTimeouts(ResolveTimeout, ConnectTimeout, SendTimeout, ReceiveTimeout)SetClientCertificate(ClientCertificate) => this.whr.SetClientCertificate(ClientCertificate)SetAutoLogonPolicy(AutoLogonPolicy) => this.whr.SetAutoLogonPolicy(AutoLogonPolicy)Status => this.whr.StatusStatusText => this.whr.StatusTextResponseText => this.whr.ResponseTextResponseBody {get {pSafeArray := ComObjValue(t := this.whr.ResponseBody)pvData := NumGet(pSafeArray + 8 + A_PtrSize, 'ptr')cbElements := NumGet(pSafeArray + 8 + A_PtrSize * 2, 'uint')return ClipboardAll(pvData, cbElements)}}ResponseStream => this.whr.responseStreamOption[Opt] {get => this.whr.Option[Opt]set => (this.whr.Option[Opt] := Value)}Headers {get {m := Map(), m.Default := ''loop parse this.GetAllResponseHeaders(), '`r`n'if (p := InStr(A_LoopField, ':'))m[SubStr(A_LoopField, 1, p - 1)] .= LTrim(SubStr(A_LoopField, p + 1))return m}}/*** The OnError event occurs when there is a run-time error in the application.* @prop {(this,errCode,errDesc)=>void} OnError*/OnError := 0/*** The OnResponseDataAvailable event occurs when data is available from the response.* @prop {(this,safeArray)=>void} OnResponseDataAvailable*/OnResponseDataAvailable := 0/*** The OnResponseStart event occurs when the response data starts to be received.* @prop {(this,status,contentType)=>void} OnResponseDataAvailable*/OnResponseStart := 0/*** The OnResponseFinished event occurs when the response data is complete.* @prop {(this)=>void} OnResponseDataAvailable*/OnResponseFinished := 0;#endregionreadyState := 0, whr := 0, _ievents := 0static __New() {if this != WinHttpRequestreturnthis.DeleteProp('__New')for prop in ['OnError', 'OnResponseDataAvailable', 'OnResponseStart', 'OnResponseFinished']this.Prototype.DefineProp(prop, { set: make_setter(prop) })make_setter(prop) => (this, value := 0) => value && (this.DefineProp(prop, { call: value }), this.enableRequestEvents())}
}

附:

用Apifox访问,也正常返回

AHK v1 官方示例源代码

whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", "https://www.autohotkey.com/download/1.1/version.txt", true)
whr.Send()
whr.WaitForResponse()
version := whr.ResponseText
MsgBox % version

AHK v1运行失败报错 0x80092004 找不到对象或属性

用Msxml2.XMLHTTP则能正常得到结果

#Requires AutoHotkey v2.0
req := ComObject("Msxml2.XMLHTTP")
req.open("GET", "https://www.autohotkey.com/download/2.0/version.txt", true)
req.onreadystatechange := Ready
req.send()PersistentReady() {if (req.readyState != 4)  ; 没有完成.returnif (req.status == 200) ; OK.MsgBox "Latest AutoHotkey version: " req.responseTextelseMsgBox "Status " req.status,, 16ExitApp
}

 

http://www.dt0577.cn/news/28135.html

相关文章:

  • 做网站测试心得google网站
  • 网站建设评估体系百度明星人气榜入口
  • 经济型网站建设整站seo技术
  • 软件大全下载app免费建站合肥网络公司seo
  • 只建设电子商务网站不维护千峰培训可靠吗?
  • 网站关键词搜索优化怎么做搜索引擎优化包括哪些内容
  • 网站登录页面html模板北京昨天出啥大事了
  • 保定网站电话自动连点器
  • wordpress get_banner_slide手机优化游戏性能的软件
  • wordpress是https武汉百度推广seo
  • 建设部指定发布招标信息网站网页设计个人主页模板
  • 网站刷链接怎么做武汉seo招聘
  • 抚州做网站公司seo外链推广平台
  • 建设网站公司 昆山企业网站推广的方法
  • 动态ip怎么做网站优化网站排名解析推广
  • 什么网站加盟代理做的专业排名
  • 个人记账网站开发时长在线代理浏览网址
  • 免费网站源码模板下载微信上怎么做广告推广
  • 西安网站开发公司疫情最新动态
  • 装修网站横幅怎么做一句简短走心文案
  • 建设网站具备的知识石家庄seo优化
  • 展馆设计网站推荐谷歌seo优化排名
  • 朋友圈海报用什么网站做的网站设计制作在哪能看
  • 深圳罗湖企业网站优化windows优化软件
  • 建设部网站资质查询6刷百度关键词排名
  • 南通做网站bing搜索引擎下载
  • 做游戏的网站有哪些北京搜索引擎推广服务
  • 做网站建设需要会哪些营销公关
  • 阿里云做网站送服务器seo网站外包公司
  • linux网站管理面板新闻发布平台有哪些