delphi 中Tidhttp1这获取网页数据的问题

delphi 中Tidhttp1这获取网页数据时如何在网页不响应的情况下不卡住主页面
我本来想放在线程中 但是会报一些莫名的错误

3个回答

放线程里吧
图片说明
效果如图:
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
delphi idhttp.get 发送带有中文的网站,错误?

delphi idhttp.get 发送一个带有中文用户名的 网址,返回错误,用浏览器登陆没有问题? 老师们碰到过吗,如何解决额?

delphi try except idhttp.get 不提示异常也捕获不到,是什么情况?

delphi xe10.2 idIndy10 也没有找到合适的解决办法,有没有碰到过的老师,麻烦告知下。

TIdMultiPartFormDataStream 这个D7(indy10)、XE5中都没有,十万火急请高人指教!!

var stream: TIdMultiPartFormDataStream; IdHTTP1: TIdHTTP; begin stream := TIdMultiPartFormDataStream.Create; stream.AddFile(tag_name, filename,GetMIMETypeFromFile(filename)); IdHTTP1.Post(URL,stream) end; 上述功能有什么方法 可替代的吗(本人菜鸟)???或是这个 TIdMultiPartFormDataStream 有什么可替代的吗??

请问delphi大牛 为什么这段代码的外层循环没有执行?

procedure TForm1.Button1Click(Sender: TObject); var sUrl:string; ihMyIdHttp:TIdHTTP; ihMyIdHttp1:TIdHTTP; iFrom:Integer; iTo:Integer; i:Integer; sInfo:string; sName:string; list:TStringList; o:Integer; p:Integer; list1:TStringList; list2:TStringList; s公司名称:string; s会员级别:string; s联系人:string; sQQ:string; s电话:string; s移动电话:string; s传真:string; s网址:string; sSubInfo:string; begin ListView1.Items.Clear; if (Edit1.Text='') or (Edit2.Text='') then begin ShowMessage('请输入搜索范围'); Exit; end; iFrom:=StrToInt(Edit1.Text); iTo:=StrToInt(Edit2.Text); ListView1.ViewStyle:=vsReport; ihMyIdHttp:=TIdHTTP.Create(nil); for i := iFrom to iTo do begin sUrl:='http://www.sg560.com/company/cate_area-0/date_key_/p'+i.ToString+'.html'; ShowMessage(sUrl); sInfo:=ihMyIdHttp.Get(sUrl); sInfo:=CopyStr(sInfo,'<div class="result-list-content">','<div class="clearfix">'); SplitString(sInfo,'<a class="g-imgTxt-tl" href="',list); ihMyIdHttp1:=TIdHTTP.Create(nil); for o := 0 to list.Count-1 do begin p:=o; p:=p*2+1; if p=21 then Exit; SplitString(list[p],'" title="',list1); s网址:='http://www.sg560.com'+list1[0]; SplitString(list1[1],'"',list2); s公司名称:=list2[0]; sSubInfo:=ihMyIdHttp1.Get(s网址); sSubInfo:=CopyStr(sSubInfo,'<div class="header">','<div class="mright">'); s会员级别:=CopyStr(sSubInfo,'<div class="name2">','</div>'); s会员级别:=s会员级别+':第'+CopyStr(sSubInfo,'<span class="num">','</span>')+'年'; s联系人:=CopyStr(sSubInfo,'<p class="mlp2">','<a'); s联系人:=CopyStr(s联系人,'<span>','</span>'); sQQ:=CopyStr(sSubInfo,'&uin=','&site'); s电话:=CopyStr(sSubInfo,'电 话:','<br />'); s移动电话:=CopyStr(sSubInfo,'移动电话:','<br />'); s传真:=CopyStr(sSubInfo,'传 真:','</p>'); if s会员级别<>'免费会员' then begin with ListView1.Items.Add do begin //Caption:=IntToStr('1'); SubItems.Add('22'); SubItems.Add(s公司名称); SubItems.Add(s会员级别); SubItems.Add(s联系人); SubItems.Add(sQQ); SubItems.Add(s电话); SubItems.Add(s移动电话); SubItems.Add(s传真); SubItems.Add(s网址); try listview1.Items[listview1.Items.Count-1].MakeVisible(true); except on E:Exception do ShowMessage('异常:'+E.Message); end; end; end; end; ihMyIdHttp.Free; ihMyIdHttp1.Free; end; end;

求助!!delphi模拟登录博客园并发帖!!

百度未果 请兄弟们给出解决思路 最好再给出代码或者帮看下下面的代码问题处在哪里怎么扩充!!谢谢 procedure TForm1.Button1Click(Sender: TObject); var postList:TStrings; Response:TStringStream; url:string; myIH:TIdHTTP; IdSSLIOHandlerSocketOpenSSL1:TIdSSLIOHandlerSocketOpenSSL; begin Response:=TStringStream.Create(''); postList:=TStringList.Create; try myIH:=TIdHTTP.Create(nil); IdSSLIOHandlerSocketOpenSSL1:=TIdSSLIOHandlerSocketOpenSSL.Create(nil); myIH.IOHandler:=IdSSLIOHandlerSocketOpenSSL1; myIH.HandleRedirects:=True; myIH.Request.UserAgent:='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)'; // myIH.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)'; postList.Add('__EVENTTARGET='); postList.Add('__VIEWSTATE=/wEPDwUJLTI5NjAzODk2ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQULY2hrUmVtZW1iZXKHW0DW4nQrSrBHBomKrt3/MjtBLA=='); postList.Add('__EVENTVALIDATION=/wEWBQKE2u7lCQLyj/OQAgK3jsrkBALR55GJDgKC3IeGDO8x1Jd0k/hBY1a/6Yl9fTpP16ti'); postList.Add('input1=@@@@'); postList.Add('input2=@@@@'); postList.Add('chkRemember='); postList.Add('btnLogin=登 录'); myIH.Post('http://passport.cnblogs.com/login.aspx',postList,Response); finally Memo1.Lines.Text := Utf8ToAnsi(Response.DataString); Response.Free; postList.Free; end; end;

爬取需要登录的网站,登陆之后跳转到下载页面,获取下载链接并下载,现在问题是登录了但是下载不了

# https://blog.csdn.net/weixin_39695028/article/details/80299078 import requests from lxml import html import sys from you_get import common as you_get import urllib.request # import urllib.request as urllib2 import re from urllib import parse import os import sys from you_get import common as you_get #导入you-get库 import urllib from urllib import request import requests from bs4 import BeautifulSoup import json from bs4 import BeautifulSoup from six.moves import urllib # postData={ # 'userid': 'llabc199262', # 'pwd': 'llabc199262' # } # session_requests = requests.session() # login_url = "http://club.dearedu.com/member/index.php" # result = session_requests.get(login_url) # result = session_requests.post( # login_url, # data = postData, # headers = dict(referer=login_url) # ) import urllib.request url1 = "http://club.dearedu.com/member/index.php" headers = {'User-Agent': "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1", 'cookie': "__jsluid_h=8e388e30d16bb1e10f73865f9a77e413; UM_distinctid=16bbf9691e24c3-0a6e0f5e007e47-3c604504-1fa400-16bbf9691e33c2; __guid=42770979.3940818425674125000.1562312902694.094; Hm_lvt_482d1a083f7aef77357d5a920988d5ac=1562287444,1562334791,1563864719; PHPSESSID=gu3663kt6ao1gh67nbh6d9cqg0; DedeUserID=9058331; DedeUserID__ckMd5=63c93468fbe47b82; DedeLoginTime=1563865398; DedeLoginTime__ckMd5=53ce53c6df5208fd; UCenter_username=llabc199262; UCenter_uid=9056889; Example_auth=8b2eRflplt%2FzXmqHdAmQ4QwVNJ14wO1lJNnWLUr9EsZnXAxyIMu%2Fcdi8wB%2B5Zdf%2B; monitor_count=2; Hm_lpvt_482d1a083f7aef77357d5a920988d5ac=1563865400"} req = urllib.request.Request(url=url1, headers=headers) response = urllib.request.urlopen(req) with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.html", 'w', encoding='utf-8') as f: f.write(response.read().decode('gbk')) # url2 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=5408682&price=0" # url3 = "https://dl.glzy8.com/upfiles/soft/2019/0527/jijianhuisefenggongzuojihuazongjiehuibaopptmb.rar" # req1 = urllib.request.Request(url=url3, headers=headers) # response1 = urllib.request.urlopen(req1) # with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.html", 'w') as f: # f.write(response1.read().decode('gbk', 'ignore').replace(u'\0xb1', u'')) # f.write(response1.read().decode('gbk', 'ignore').replace(u'\0xe7', u'')) 麻烦大神帮忙看看,http://club.dearedu.com/member/index.php是一个教育网站,我用cookie登录网站之后获取了下载链接,但是下载不了文件 # toPath = r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网" # try: # for k in range(5408682,1000000000000): # url1 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=" + str(k) +"&price=0" # print(url1) # sys.argv = ['you-get', '-o', toPath, url1] # you_get.main() # except: # pass def bCrawler(url): req = urllib.request.Request(url=url, headers=headers) # 拿出的是字典 response1 = urllib.request.urlopen(req) # HtmlStr = response1.read().encode('utf-8', 'ignore').replace(u'\0xa3', u'') HtmlStr = response1.read().decode('utf-8', 'ignore').replace(u'\0xa3', u'') # print(HtmlStr) pat = r'zid=(.*?)&price=0" class="layui-btn">' re_img = re.compile(pat,re.S) bList = re_img.findall(HtmlStr) print(bList) print(len(bList)) # try: for bUrl in bList: url5 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=" + bUrl + "&price=0" print(url5) f1 = requests.get(url5,headers=headers) with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.doc","a+") as f: #encoding="utf-8" f.write(f1.content) # urllib.request.urlretrieve(url5,r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\sina.docx",data=headers) # except: # pass # with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.docx","w") as f: #encoding="utf-8" # f.write(HtmlStr) #url中如果有中文字符必须进行解码 url = r"http://s.dearedu.com/?page=2&rows=10&attr_free=1" # toPath = r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网"#image文件夹必须先建立 # bCrawler(url, toPath) num = 0 for i in range(556, 12204): url = "http://s.dearedu.com/?page=" + str(i) + "&rows=10&attr_free=1" print(url) print(i) bCrawler(url) # 此代码目前存在的问题:登陆成功但是不能下载

将PHP函数转换为Delphi EQUIVALENT idHTTP SSL和COOKIE组件

<div class="post-text" itemprop="text"> <p>I tried translate this PHP function</p> <pre><code>function checkLogin($username, $password) { $URL = "https://www.yookos.com/cs_login"; $COOKIE = "cookie_".$username.".txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $URL); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $COOKIE); curl_setopt($ch, CURLOPT_REFERER, $URL); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "username=".$username."&amp;password=".$password); $result = curl_exec ($ch); $loggedIn = 0; if (strpos($result, "I agree to the Terms &amp; Conditions")) { // ---- Accept terms and conditions curl_setopt($ch, CURLOPT_URL, 'https://www.yookos.com/terms-and-conditions.jspa'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "url=&amp;agree=true&amp;method%3Aexecute=Accept"); $result = curl_exec ($ch); $loggedIn = 1; } elseif (strpos($result, "/people/".$username)) { $loggedIn = 2; } else { $loggedIn = 3; } curl_close($ch); unlink($COOKIE); return $loggedIn; } </code></pre> <p>To Delphi XE6:</p> <pre><code>procedure TfrmMain.prcYOOKOS_AcceptTerms(User, Pass: string); var sResponse: string; Param: TStringStream; HTTP: TidHTTP; SSL: TIdSSLIOHandlerSocketOpenSSL; Cookie: TIdCookieManager; //U : TidURI; begin //U := TidURI.Create('www.yookos.com'); HTTP := TIdHTTP.Create(nil); SSL := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP); // nil Cookie := TIdCookieManager.Create(HTTP); HTTP.IOHandler := SSL; HTTP.AllowCookies := True; HTTP.CookieManager := Cookie; // // ---- Login page // m.Lines.Add('------------------------------------'); try sResponse := HTTP.Get('https://www.yookos.com/login.jspa'); except on E: Exception do m.Lines.Add('Error on request 0: ' + e.Message); end; m.Lines.Add(HTTP.Response.RawHeaders.GetText); m.Lines.Add(HTTP.Response.Location); m.Lines.Add('------------------------------------'); // // ---- Post DATA // m.Lines.Add('------------------------------------'); try Param := TStringStream.Create('username='+User+'&amp;password='+Pass, TEncoding.UTF8); HTTP.Request.ContentType := 'application/x-www-form-urlencoded'; HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6'; //HTTP.Request.CustomHeaders.AddValue('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6'); HTTP.Request.Referer := 'https://www.yookos.com/cs_login'; HTTP.Post('https://www.yookos.com/cs_login', Param); FreeAndNil(Param); except on E: Exception do m.Lines.Add('Error on request 1: ' + e.Message); end; m.Lines.Add(HTTP.Response.RawHeaders.GetText); m.Lines.Add(HTTP.Response.Location); m.Lines.Add('------------------------------------'); // // ---- Handle "Location:" // while (Pos('condition',HTTP.Response.Location)=0) and (Pos('login.jspa',HTTP.Response.Location)=0) do begin m.Lines.Add('------------------------------------'); try //HTTP.CookieManager.AddServerCookie('', U); sResponse := HTTP.Get(HTTP.Response.Location); except on E: Exception do m.Lines.Add('Error on request 0: ' + e.Message); end; m.Lines.Add(HTTP.Response.RawHeaders.GetText); m.Lines.Add(HTTP.Response.Location); m.Lines.Add('------------------------------------'); end; // // ---- ACCEPT TERMS // m.Lines.Add('------------------------------------'); try Param := TStringStream.Create('url=&amp;agree=true&amp;method:execute=Accept', TEncoding.UTF8); sResponse := HTTP.Post('https://www.yookos.com/terms-and-conditions.jspa', Param); FreeAndNil(Param); except on E: Exception do m.Lines.Add('Error on request 2: ' + e.Message); end; m.Lines.Add(HTTP.Response.RawHeaders.GetText); m.Lines.Add(HTTP.Response.Location); m.Lines.Add('------------------------------------'); // // ---- Free OBJECTS from memory // FreeAndNil(SSL); FreeAndNil(Cookie); FreeAndNil(HTTP); end; procedure TfrmMain.Button1Click(Sender: TObject); begin prcYOOKOS_AcceptTerms(A.Text, B.Text); end; </code></pre> <p>But when i test it, the JSESSIONID is not held by application, i know is something about Cookie Management, but i dont have experience using cookies and IdHTTP on Delphi.</p> <p>I need to know how to implement a EQUIVALENT CURL COOKIEJAR and access TERMS-AND-CONDITIONS page...</p> <p>Some test accounts:</p> <pre><code>bamidelebatigo21911 yookos1 ekeminibiney37611 yookos1 sojiedna3511 yookos1 </code></pre> <p>I hope someone can help me.</p> <p>Edit:</p> <p>Nework Activity:</p> <pre><code>Remote Address:23.216.189.124:443 Request URL:https://www.yookos.com/cs_login Request Method:POST Status Code:302 Moved Temporarily Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate Accept-Language:pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Content-Length:49 Content-Type:application/x-www-form-urlencoded Cookie:__gads=ID=ff29271d05b213c8:T=1414610836:S=ALNI_MYDwjPO57uPfIaGmdVfqnjoWHxsbg; JSESSIONID=4453E0FF613AD064007787E047D0DB01.; jive.security.context="RbpSeLe7t/WPkLYju8/vVkwHJGRKmHXKBce5/ZQD60vRMQ9fvd/9cUbo9eCMywxd.LTE="; BIGipServeryookos-bm-pool=171466762.20480.0000; _ga=GA1.2.1807302990.1414610813; __zlcmid=RceB82JzC9uSzH Host:www.yookos.com Origin:https://www.yookos.com Referer:https://www.yookos.com/login.jspa User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36 Form Dataview sourceview URL encoded username:bamidelebatigo21911 password:yookos1 Response Headersview source Cache-Control:no-store, no-cache, must-revalidate, private, max-age=0 Connection:keep-alive Content-Encoding:gzip Content-Length:20 Content-Type:text/plain Date:Mon, 03 Nov 2014 03:06:08 GMT Expires:Mon, 03 Nov 2014 03:06:08 GMT Location:https://www.yookos.com/ P3P:CP="CAO PSA OUR" Server:Apache-Coyote/1.1 Set-Cookie:jive.security.context="0acwivaPVzRzAfYY/qpfog==.NDQ0NzA4NzU="; Version=1; Max-Age=2592000; Expires=Wed, 03-Dec-2014 03:06:08 GMT; Path=/;HttpOnly Set-Cookie:JSESSIONID=C363F991321B5C68D0A6B31C8600F98F.; Path=/;HttpOnly Set-Cookie:jive.user.loggedIn=true; Path=/;HttpOnly Set-Cookie:jive.server.info="serverName=www.yookos.com:serverPort=443:contextPath=:localName=localhost:localPort=9200:localAddr=127.0.0.1"; Version=1; Path=/;HttpOnly Vary:Accept-Encoding X-Cnection:close X-JSL:D=20228 t=1414983968813575 -------------------------------------------------------------------------------- Remote Address:23.216.189.124:443 Request URL:https://www.yookos.com/ Request Method:GET Status Code:302 Moved Temporarily Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate Accept-Language:pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Cookie:__gads=ID=ff29271d05b213c8:T=1414610836:S=ALNI_MYDwjPO57uPfIaGmdVfqnjoWHxsbg; BIGipServeryookos-bm-pool=171466762.20480.0000; _ga=GA1.2.1807302990.1414610813; __zlcmid=RceB82JzC9uSzH; JSESSIONID=C363F991321B5C68D0A6B31C8600F98F.; jive.user.loggedIn=true; jive.server.info="serverName=www.yookos.com:serverPort=443:contextPath=:localName=localhost:localPort=9200:localAddr=127.0.0.1"; jive.security.context="0acwivaPVzRzAfYY/qpfog==.NDQ0NzA4NzU=" Host:www.yookos.com Referer:https://www.yookos.com/login.jspa User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36 Response Headersview source Cache-Control:no-store, no-cache, must-revalidate, private, max-age=0 Connection:keep-alive Content-Encoding:gzip Content-Length:20 Content-Type:text/plain Date:Mon, 03 Nov 2014 03:06:09 GMT Expires:Mon, 03 Nov 2014 03:06:09 GMT Location:https://www.yookos.com/terms-and-conditions!input.jspa P3P:CP="CAO PSA OUR" Server:Apache-Coyote/1.1 Vary:Accept-Encoding X-Cnection:close X-JSL:D=2883 t=1414983969114534 -------------------------------------------------------------------------------- Remote Address:23.216.189.124:443 Request URL:https://www.yookos.com/terms-and-conditions!input.jspa Request Method:GET Status Code:200 OK Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate Accept-Language:pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Cookie:__gads=ID=ff29271d05b213c8:T=1414610836:S=ALNI_MYDwjPO57uPfIaGmdVfqnjoWHxsbg; BIGipServeryookos-bm-pool=171466762.20480.0000; _ga=GA1.2.1807302990.1414610813; __zlcmid=RceB82JzC9uSzH; JSESSIONID=C363F991321B5C68D0A6B31C8600F98F.; jive.user.loggedIn=true; jive.server.info="serverName=www.yookos.com:serverPort=443:contextPath=:localName=localhost:localPort=9200:localAddr=127.0.0.1"; jive.security.context="0acwivaPVzRzAfYY/qpfog==.NDQ0NzA4NzU=" Host:www.yookos.com Referer:https://www.yookos.com/login.jspa User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36 Response Headersview source Cache-Control:no-store, no-cache, must-revalidate, private, max-age=0 Connection:Transfer-Encoding Connection:keep-alive Content-Encoding:gzip Content-Language:en-US Content-Type:text/html;charset=UTF-8 Date:Mon, 03 Nov 2014 03:06:10 GMT Expires:Mon, 03 Nov 2014 03:06:09 GMT P3P:CP="CAO PSA OUR" Server:Apache-Coyote/1.1 Transfer-Encoding:chunked Vary:Accept-Encoding X-Cnection:close X-JIVE-USER-ID:44470875 X-JSL:D=161278 t=1414983969375279 </code></pre> </div>

通过HTTP-POST连接到Delphi应用程序的php脚本[通过Internet]

<div class="post-text" itemprop="text"> <p>I've written a test php script located in a remote server of mine, and I am using Delphi code to do a Http_Post to that php file.</p> <p>It works perfectly when I am doing it on a local server, but fails with a </p> <blockquote> <p>Socket Error #10061 - Connection Refused</p> </blockquote> <p>error.</p> <p>Here is the code I am using to do the Http Post :</p> <pre><code>function TForm1.doPost(Url : String): string; var lHTTP: TIdHTTP; lParamList: TStringList; begin lParamList := TStringList.Create; lParamList.Add('service_test=Testing Server'); lHTTP := TIdHTTP.Create(nil); try Result := lHTTP.Post(Url, lParamList); prgView.StepIt; finally lHTTP.Free; lParamList.Free; end; end; </code></pre> <p>The url is reachable fro, browser and other applications viz. [Tested with an android app with the same php script]</p> <p>Url : <a href="http://pbcserver.dlinkddns.com/users/priyabrata/contest.php" rel="nofollow">http://pbcserver.dlinkddns.com/users/priyabrata/contest.php</a></p> <p>Php Script :</p> <pre><code>if (isset($_POST["service_test"])){ $val = $_POST["service_test"]; if ($val == "Testing Server"){ $response["Success"] = "1"; echo (json_encode($response)); } else{ $response["Success"] = "0"; echo (json_encode($response)); } } else{ $response["Success"] = "0"; echo (json_encode($response)); } </code></pre> <blockquote> <p><strong>New Observation</strong> :</p> <p>When I run the app from within Delphi, the post doesn't work and get the above error,however when I run the created .exe from Windows like any other app, it works perfectly!</p> </blockquote> </div>

URL中怎么保证汉字传输,不被转换为16进制编码

URL中怎么保证传输汉字,浏览器会将URL中的汉字转换为16进制编码 因为目的地址代码不会改动,没有解密过程 所以要怎么保证URL中的汉字不被转换

有没有更好的方法上传记录集与JSON或其他? [关闭]

<div class="post-text" itemprop="text"> <p>I have firebird database and need to upload one of database tables to remote mysql server on web. There are thousands records and I dont know how to upload these records. I can upload records one by one with JSON. I'm using POST method.</p> <p>How can I upload all records in one time or in parts?</p> <p><strong>Update 1:</strong> This codes is working for one by one data update. But it's like such a flood attack. I want to upload all data that I've selected in one time.</p> <p><strong>Delphi 7 Side</strong> <strong>HTTP Post Method</strong></p> <pre><code>function PostURLAsString(aURL: string; code:string): string; var lHTTP: TIdHTTP; lStream: TStringStream; parameters: TStringList; begin lHTTP := TIdHTTP.Create(nil); lHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; lStream := TStringStream.Create(Result); try Parameters := TStringList.Create; parameters.Add('code=' + code); lHTTP.Post(aURL, parameters,lStream); lStream.Position := 0; Result := lStream.ReadString(lStream.Size); finally FreeAndNil(lHTTP); FreeAndNil(lStream); end; end; </code></pre> <p><strong>Upload Records One by One:</strong></p> <pre><code>procedure TForm1.Button1Click(Sender: TObject); var js:TlkJSONobject; jb: TlkJSONbase; s: String; code:string; begin IBQuery1.First; with IBQuery1 do while not Eof do begin code := VarToStr(FieldValues['code']); s := PostURLAsString('http://www.domain.com/uitems.php', code); js := TlkJSON.ParseText(s) as TlkJSONobject; jb := js.Field['items']; if VarToStr(jb.Child[0].Field['status'].Value) = '1' then ListBox1.Items.Add(code + ' is inserted') else ListBox1.Items.Add(code + ' is not inserted'); Application.ProcessMessages; js.Free; Next; end; end; </code></pre> <p><strong>PHP Side</strong> <strong>uitems.php</strong></p> <pre><code>&lt;?php include_once dirname(__FILE__) .'/DBConnect.php'; function update($code){ $db = new DbConnect(); // array for json response $response = array(); $response["items"] = array(); $sqlstr = "INSERT INTO items (`code`) VALUES ('$code')"; $result = mysql_query($sqlstr); $tmp = array(); if ($result) { // successfully updated $tmp["status"] = 1; //inserted } else { $tmp["status"] = 0; //not inserted } array_push($response["items"], $tmp); header("Content-Type: application/json; charset=utf-8", true); // echoing json result echo json_encode($response, JSON_UNESCAPED_UNICODE); } update($_POST["code"]); ?&gt; </code></pre> </div>

wininet API多线程 访问问题

使用wininet API函数登录 一个HTTPS应用程序服务器 1个线程 1个帐号登录操作 一切正常 当第二个帐号登录后 第一个帐号就会失效 提示“会话过期”,应该服务器有判断会话ID 开两个进程 分开登录 也会出现 “会话过期”提示 查了下资料貌似说 wininetAPI 自己管理了cookies和session 各位大神 给点建议 如果想实现同时正常登录不同帐号 并保持会话 怎么实现 能不能通过哪个方法用API实现和HTTPclinet或者tidhttp那样的独立会话和保持 代码不贴了 很简单的几个API InternetOpenA InternetConnectA HttpOpenRequestA HttpSendRequestA InternetReadFile HttpQueryInfoA HttpAddRequestHeaders InternetSetOptionA

HttpClient登录后,使用默认浏览器打开页面是登录的状态

大家好,现在有个问题,httpclient可以登录,登录成功后怎么和浏览器进行交互,让浏览器是登录的状态呢?不用从新登录。换句话说就是让浏览器识别httpclient的登录信息? 不知道我这个思路对不对?有大神做过相关的工作么?谢了

在预检请求中发送自定义标头选项角度5

<div class="post-text" itemprop="text"> <p>I have built an app with angular 5 which connects to a REST API developed with golang and hosted on an aws ec2 instance running on port 8080. My angular frontend code creates a POST request, and before making that request, the browser first sends a COR preflight request, which fails with the following error message:</p> <blockquote> <p>Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at <code>https://signup.mysite.com:8080/api/v1/merchant/signup</code>. (Reason: missing token ‘access-control-allow-credentials’ in CORS header ‘Access-Control-Allow-Headers’ from CORS preflight channel).</p> </blockquote> <p>The following headers are sent by the browser in the OPTIONS request to the REST API server:</p> <pre><code>Access-Control-Request-Headers : access-control-allow-credentia…rol-allow-origin,content-type Access-Control-Request-Method : POST </code></pre> <p>Cors are enabled on golang but not sure if they are working. How can I resolve the issue</p> <p>EDIT Using following code to add header in post request in angular 5</p> <pre><code>import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http'; let headers = new HttpHeaders(); headers = headers.append('Access-Control-Allow-Origin', '*'); headers = headers.append('Access-Control-Allow-Credentials', 'true'); return this.http.post&lt;Response&gt;(this.apiUrl+'merchant/signup', JSON.stringify(formValues),{headers: headers}).map(response =&gt; response.response);'true'); </code></pre> <p>Following code is in go file</p> <pre><code>func CORSMiddleware() gin.HandlerFunc { return func(c *gin.Context) { // host := strings.Split(c.Request.Host, ":8080") c.Writer.Header().Set("Content-Type", "application/json") // c.Writer.Header().Set("Access-Control-Allow-Origin", "http://"+host[0]) c.Writer.Header().Set("Access-Control-Allow-Origin", "*") c.Writer.Header().Set("Access-Control-Allow-Credentials", "true") c.Writer.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE") // c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, Ip, X-Requested-With, access-control-allow-credentials ") c.Writer.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization") } } </code></pre> <p>also using cores package </p> <pre><code>router.Use(cors.Default()) </code></pre> </div>

HttpGet抛出异常,不明白!求指导~

想用数据库做一个登录验证的功能,服务器端响应正常,json数据包 {"ret":1,"num":123} ret是登录正常时的状态值,num是号码:123 url是192.168.1.3:8080/web/getActInfo params:num=123 通过logcat发现在httpGet中抛出了一个异常,但是搞不明白!!痛苦了一下午求点拨! public String httpGet(String url, String params) throws Exception { String response = null; if (null!=params&&!params.equals("")) { url += "?" + params; } int timeoutConnection = 8000; int timeoutSocket = 10000; HttpParams httpParameters = new BasicHttpParams();// Set the timeout in milliseconds until a connection is established. HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);// Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data. HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); HttpClient httpClient = new DefaultHttpClient(httpParameters); HttpGet httpGet = new HttpGet(url); try { HttpResponse httpResponse = httpClient.execute(httpGet); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_OK) //SC_OK = 200 { response = EntityUtils.toString(httpResponse.getEntity()); } else { response = "状态码"+statusCode; } } catch (Exception e) { throw new Exception(e); }

python调用soap 415错误

File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 540, in __call__ return self.__r_call(*args, **kw) File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 562, in __r_call self.__hd, self.__ma) File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 425, in __call timeout = self.timeout) File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 324, in call raise HTTPError(code, msg) HTTPError: <HTTPError 415 Unsupported Media Type> request full path: /note/getInfo/ }}}

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

推荐9个能让你看一天的网站

分享的这9个保证另你意外的网站,每个都非常实用!非常干货!毫不客气的说,这些网站最少值10万块钱。 利用好这些网站,会让你各方面的技能都得到成长,不说让你走上人生巅峰,但对比现在的你,在眼界、学识、技能方面都有质的飞跃。 一、AIRPANO 传送门:https://www.airpano.com/360photo_list.php 这是一个可以躺在家里,就能环游世界的神奇网站。 世界那么大,绝大多...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

一场疫情,炸出了退休的COBOL程序员

COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容。出门问了问度娘,答案如下:COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

讲真,这两款idea插件,能治愈你英语不好的病

时不时就有小伙伴问我,“二哥,能推荐一款 IDE 吗?”你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了)。然后小伙伴又说,“二哥,IDEA 支持中文吗?我英语不太好。”你看这话问的,搞编程的,英语不好是硬伤啊! 不过,随着 IDEA 最新版(版本号是 2020.1)的发布,英语不好的病可以彻底治愈了。为什么这么说呢?因为 ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

瑞德西韦重症用药结果再曝光,上百名重症一周内好转,股价大涨19%

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI期盼已久的瑞德西韦临床数据,现在“偷跑”了。在芝加哥大学医学院的临床试验中,125名病人参与,大部分人都已经出院,其中只有2名病...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

Vue商城——详情页功能

详情页实现思路 点击商品进去详情页,根据点击请求更加详细的信息,要传过来goodsItem的iid,根据id去服务器请求更加详细的信息;配置路由映射关系,点击进行跳转,带参数传递跳转 itemClick(){ this.$router.push('/detail/'+this.goodsItem.iid) /* this.$router.push({ ...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

你离黑客的距离,就差这20个神器了

郑重声明:本文仅限技术交流,不得用于从事非法活动 在不少电影电视剧中,主角的身边都有这么一位电脑高手:他们分分钟可以黑进反派的网络,攻破安全防线,破解口令密码,拿到重要文件。他们的电脑屏幕上都是一些看不懂的图形和数字,你能看懂的就只有那个进度条,伴随着紧张的BGM,慢慢的向100%靠近······ 上面的场景和套路是不是很眼熟? 影视作品中的黑客当然有夸张和戏剧化的表现,不过,现实世界中的黑客也...

Linux基础:xargs命令-I选项使用技巧

这篇文章使用具体示例来介绍一下xargs命令-I参数的常见使用方法。

一个华为离职者的离职感言,干货满满

11.8Y, 40-, 3.30提离职,本月底截止。 离职原因: 1.年龄大,职级低,处境尴尬。 2.常年处于紧绷状态,身心疲乏,近来工作干劲不足,没有期待。 现在离职时机的选择比较尴尬。主要有以下几点: 1. 赶上了疫情,外部就业环境险恶。 2. 最近公司出台了ESOP1政策,享受不到政策好处了。 3. 到了沟通奖金的时间。 我是去年底挂简历,询问的猎头不少,约面试的只有一家,面...

我和AI打了六局王者荣耀,心态崩了

十三 发自 凹非寺量子位 报道 | 公众号 QbitAI今天,我和AI绝悟打了6局王者荣耀,心态有点崩。没赢过?不,比分3:3打平,还拿过MVP。那怎么就崩溃了?听我慢慢道来。PVP对战...

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问