DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: webb123
今日帖子: 36
在线用户: 20
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 zzhsq2008 (铁骑) ★☆☆☆☆ -
普通会员
2018/9/9 16:24:49
标题:
为什么在win32下可以实现读取网页源代码内的数据,而在移动平台上不能实现? 浏览:1417
加入我的收藏
楼主: procedure TForm1.Button3Click(Sender: TObject);
var
    IdHttp : TIdHTTP;
    Url : string;//请求地址
    ResponseStream : TStringStream; //返回信息
    ResponseStr :String;

    RequestList,list1 : TStringList;     //请求信息
    RequestStream : TStringStream;
        s,s1,s2,s3,s4:String;  posnum,count,i,j,k,k1,l,m:integer;
  Item: TGridColumnItem;
begin
   //创建IDHTTP控件
   IdHttp := TIdHTTP.Create(nil);
   //TStringStream对象用于保存响应信息
   ResponseStream := TStringStream.Create('');

   //RequestStream := TStringStream.Create('');
   RequestList := TStringList.Create;
   List1 := TStringList.Create;
   try
     Url := 'http://trend.caipiao.163.com/cqssc/jiben-5xing.html';
     try
       //以列表的方式提交参数
       RequestList.Add('kjhm=');
       IdHttp.Post(Url,RequestList,ResponseStream);

       //以流的方式提交参数
      // RequestStream.WriteString('kjhm=');
      // IdHttp.Post(Url,RequestStream,ResponseStream);
     except
       on e : Exception do
       begin
         ShowMessage(e.Message);
       end;
     end;
     //获取网页返回的信息
     ResponseStr := ResponseStream.DataString;
     //网页中的存在中文时,需要进行UTF8解码
    ResponseStr := UTF8Decode(ResponseStr);
   finally
    IdHttp.Free;
     RequestList.Free;
     RequestStream.Free;
     ResponseStream.Free;
   end;
  //s:=ResponseStr;
   //s:=list1.Text;
   s2:='kjhm="'+copy(DateTimeToStr(Date()),3,2)+copy(DateTimeToStr(Date()),6,2)+copy(DateTimeToStr(Date()),9,2);
  StringGridView1.Columns[0,0].Title:='开奖日期';
 StringGridView1.Columns[1,0].Title:='奖号';
StringGridView1.Columns[0,0].Width:=80;
 StringGridView1.Columns[1,0].Width:=50;

 for I :=Low(ResponseStr) to high(ResponseStr) do
begin

 //if copy(ResponseStr,i+1,12)=s2 then
//begin
// s3:=s3+copy(ResponseStr,i+7,9);
//s4:=s4+copy(ResponseStr,i+18,5);

if ResponseStr.Substring(i+1,12)=s2 then
begin
 s3:=s3+ResponseStr.Substring(i+7,9);
s4:=s4+ResponseStr.Substring(i+18,5);
      end
        else
          begin
        continue;
          end;



    end;
 self.StringGridView1.RowCount:=length(s4) div 5;
 //self.Label1.Text:=s4;
  for j:=1 to length(s4) div 5 do
begin
 StringGridView1.Cells[0,j-1]:=copy(s3,j*9-8,9);
StringGridView1.Cells[1,j-1]:=copy(s4,j*5-4,5);
 end;



end;
此帖子包含附件:
PNG 图像
大小:48.4K
----------------------------------------------
-
作者:
男 zzhsq2008 (铁骑) ★☆☆☆☆ -
普通会员
2018/9/9 16:28:12
1楼: 请各位高手多多指点
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2018/9/13 10:23:29
2楼: 如果是用 IdHttp 去抓网页内容,在 WIN 下和在移动平台下,没区别。

你的问题是,没把问题描述清楚。就好比有个人找你帮忙修电脑,上来就一句:这电脑没法打字了。究竟是输入法有问题了?还是 WORD 打不开了?

你跑了两个小时过去一看,他没插电。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/9/13 10:42:39
3楼: 管他啥问题,先收了上门服务费。
----------------------------------------------
(C)(P)Flying Wang
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行93.75毫秒 RSS