• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi之getpost

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

没测试过这个

var 
     Source:   TMemoryStream; 
     Response:   TStringStream   ; 
 begin 
 try 
         //   Set   the   properties   for   HTTP 
         idHTTP.Request.Username   :=   'www '; 
         idHTTP.Request.Password   :=   'www '; 
 //         idHTTP1.Request.ProxyServer   :=   '11.133.190.13 '; 
 //         idHTTP1.Request.ProxyPort   :=   StrToIntDef( '80 ',   80); 
         idHTTP.Request.ContentType   :=   'application/x-www-form-urlencoded '; 
           Response   :=   TStringStream.Create( ' '); 
             try 
                     Source   :=   TMemoryStream.Create; 
                     try 
                         Source.LoadFromFile( 'unsub.xml ');   //发送这个XML包,反向取消请求 
                         idHTTP.Post( 'http://222.333.444.555/dsmp/dsmp.wsdl ',   Source,   Response); 
                     finally 
                       //   Source.Free; 
                     end; 

                 memo.Lines.Text   :=   Response.DataString;//返回的字串,可以把它存为XML就可以 
                 memo.Lines.SaveToFile( 'unsubresp.xml ');         //返回的反向取消应答包 
             finally 
                 Response.Free; 
             end; 
     finally 
     end

这个方法试了 可以用

以下仅供参考,要求在web页面写特殊的字符,根据返回的结果判断是否登陆成功,用户名,密码方式见下:

View Code
procedure   TForm1.Button1Click(Sender:   TObject); 
 var 
     Url:   string; 
     Response   :   TStringStream; 
     Request   :   TStrings; 
 begin 
     Memo1.Clear; 
     Response   :=   TStringStream.Create( ' '); 
     try 
         Request   :=   TStringList.Create; 
         try 
             Request.Append( 'txtUserId=hengli&txtPassword=ysj); 
             url   :=   'http://192.168.1.33/nmmis/index.aspx '; 
             IdHTTP1.Request.ContentType   :=   'application/x-www-form-urlencoded '; 
             IdHTTP1.Post(Url,   Request,   Response); 
             Memo1.Lines.Text   :=   Response.DataString; 
         finally 
             FreeAndNil(Request); 
         end; 
     finally 
         FreeAndNil(Response); 
     end; 
 end;

通过idhttp上传文件到web上,然后返回上传的文件路径。

View Code
function   UpLoagFile(FileName:   String):   string; 
 var 
     obj   :   TIdMultiPartFormDataStream; 
     Url:   String; 
 begin 
     obj   :=   TIdMultiPartFormDataStream.Create; 
     try 
         obj.AddFile( 'Image ',FileName,   GetMIMETypeFromFile(FileName)); 
         http.Request.ContentType   :=   obj.RequestContentType; 
         obj.Position   :=   0; 
         Url   :=     'http://192.168.1.44/insertImage.aspx '; 
         Result   :=   http.Post(Url,   obj); 
     finally 
         obj.Free; 
     end; 
 end; 

 服务端,C#: 
 private   void   Page_Load(object   sender,   System.EventArgs   e) 
 { 
         foreach(string   f   in   Request.Files.AllKeys) 
         {   
                 string   fileName,   fullName; 
                 HttpPostedFile   postFile   =   Request.Files[f];   
                 if   (postFile.ContentLength   >   10) 
                 {   
       fileName   =   postFile.FileName; 
       //GetFileName(   fileName,   out   fullName   ); 
       fullName   =   "UpLoad/aaa.jpg " 
       postFile.SaveAs   (   Server.MapPath   (   fullName   )   ); 
       Response.Write   (fullName); 
 } 
         } 
 }

 

 

 

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
贝叶斯网络-使用matlab工具集发布时间:2022-07-18
下一篇:
Delphi ControlCount和ComponentCount的区别发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap