程序post

            ASCIIEncoding encoding = new ASCIIEncoding();
            
string postData = "srh_type=0";
            postData 
+= "&cityid=0101";
            postData 
+= "&price=-1";
            postData 
+= "&star=-1";

            postData 
+= "&__EVENTTARGET=Search1$Pager";
            postData 
+= "&__EVENTARGUMENT=1";



            
byte[] data = encoding.GetBytes(postData);

            
// Prepare web request
            HttpWebRequest myRequest =
            (HttpWebRequest)WebRequest.Create(
"http://**");

            myRequest.Method 
= "POST";
            myRequest.ContentType 
= "application/x-www-form-urlencoded";
            myRequest.ContentLength 
= data.Length;
            Stream newStream 
= myRequest.GetRequestStream();

            
// Send the data.
            newStream.Write(data, 0, data.Length);
            newStream.Close();

            
// Get response
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            StreamReader reader 
= new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
            
string content = reader.ReadToEnd();
            Response.Write(content); 

转载于:https://www.cnblogs.com/Elong/archive/2008/12/08/1350382.html

### 微信小程序PostMessage 的使用方法 微信小程序的 `web-view` 组件提供了与嵌入的 H5 页面进行通信的功能,其中 `postMessage` 是实现两者之间数据传递的重要工具。然而,需要注意的是,`postMessage` 在微信小程序中的使用方式与原生浏览器中的 `postMessage` 存在差异。 #### 1. 小程序向 H5 发送消息 小程序可以通过 `web-view` 的 `window.postMessage` 方法向嵌入的 H5 页面发送消息。H5 页面需要监听 `message` 事件以接收来自小程序的消息。 **小程序端代码示例:** ```javascript const webViewContext = wx.createWebViewContext('webviewId'); // webviewId 为 web-view 组件的 id webViewContext.postMessage({ key: 'value' }); ``` **H5 端代码示例:** ```javascript window.addEventListener('message', function(event) { console.log(event.data); // 接收来自小程序的消息 }); ``` #### 2. H5 向小程序发送消息 H5 页面可以通过调用 `wx.miniProgram.postMessage` 方法向小程序发送消息。小程序需要通过 `bindmessage` 事件监听来自 H5 的消息。 **H5 端代码示例:** ```javascript if (window.wx && window.wx.miniProgram) { window.wx.miniProgram.postMessage({ key: 'value' }); } ``` **小程序端代码示例:** ```xml <web-view id="webviewId" bindmessage="handleMessage" src="https://example.com"></web-view> ``` ```javascript Page({ handleMessage(e) { console.log(e.detail); // 接收来自 H5 的消息 } }); ``` #### 3. 注意事项 - **通信限制**:小程序的 `postMessage` 并非实时通信工具[^1]。它仅在特定场景下触发,例如用户点击按钮或执行某些操作时。 - **安全性**:确保在通信过程中对数据进行校验和加密,防止恶意攻击。 - **兼容性**:确保 H5 页面支持微信小程序的 JSSDK,并正确初始化 `wx.miniProgram`[^2]。 ### 示例场景:文件下载解决方案 结合上述内容,可以设计一个微信小程序与 H5 文件下载的解决方案。核心思路是将 H5 的下载逻辑交由小程序完成。 **步骤说明:** 1. H5 页面检测到用户发起下载请求后,通过 `wx.miniProgram.postMessage` 将文件 URL 和其他必要信息发送给小程序。 2. 小程序接收到消息后,调用 `wx.downloadFile` API 下载文件。 **H5 端代码:** ```javascript function triggerDownload(url) { if (window.wx && window.wx.miniProgram) { window.wx.miniProgram.postMessage({ action: 'download', url: url }); } } ``` **小程序端代码:** ```javascript Page({ handleMessage(e) { const { action, url } = e.detail; if (action === 'download') { wx.downloadFile({ url: url, success(res) { const filePath = res.tempFilePath; wx.saveFile({ tempFilePath: filePath, success() { wx.showToast({ title: '文件保存成功' }); }, fail() { wx.showToast({ title: '文件保存失败', icon: 'none' }); } }); }, fail() { wx.showToast({ title: '文件下载失败', icon: 'none' }); } }); } } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值