取得指定网页内容

方法1:

  1.    string url = "http://www.csres.com/Sort/chsortdetail/all.html"
  2.    byte[] buf = new byte[38192]; 
  3.    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
  4.    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
  5.    Stream resStream = response.GetResponseStream(); 
  6.    StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default); 
  7.    htmlStr = sr.ReadToEnd(); 

 

方法2:

  1.         WebRequest wrqt = WebRequest.Create("URL");
  2.         WebResponse wrse = wrqt.GetResponse();
  3.         Stream strM = wrse.GetResponseStream();
  4.         StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("UTF-8"));
  5.         string strallstrm;
  6.         strallstrm = SR.ReadToEnd();
  7.         return strallstrm;

 

再来一个纯aspx的,直接从浏览器上浏览这个页面:

  1. <%@ Page Language="C#" %>
  2. <%@ Import Namespace="System.IO" %>
  3. <script runat="server">
  4.     protected void Button1_Click(object sender, EventArgs e)
  5.     {
  6.         StringWriter wr = new StringWriter();
  7.         Server.Execute(this.TextBox1.Text, wr);     //你可以使用第三个参数传递页面的更多初始数据
  8.         this.Label1.Text = Server.HtmlEncode(wr.ToString());
  9.         File.WriteAllText(Server.MapPath(this.TextBox2.Text), wr.ToString());
  10.     }
  11. </script>
  12. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  13. <html xmlns="http://www.w3.org/1999/xhtml">
  14. <head runat="server">
  15.     <title>演示取得网站中其它网页的源代码只需要两行代码就够了</title>
  16. </head>
  17. <body>
  18.     <form id="form1" runat="server" defaultbutton="Button1">
  19.     <div>
  20.         请输入本网站的页面名称:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  21.         <br />
  22.         请输入目标文件名称<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
  23.         <br />
  24.         <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><hr />
  25.         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
  26.     </div>
  27.     </form>
  28. </body>
  29. </html>

 

 

### 实现网页加载时自动打印指定 URL 的内容 为了在 Vue.js 项目中实现当网页加载完成时自动触发窗口打印功能并打印特定 URL 页面的内容,可以通过以下方式达成: #### 使用 `mounted` 生命周期钩子函数发起请求并调用打印 API 可以在组件的生命周期钩子 `mounted()` 中执行网络请求获取目标页面的数据,并利用 JavaScript 原生的 `window.print()` 方法来启动打印对话框。需要注意的是,由于跨域策略等因素的影响,在实际开发环境中可能无法直接抓取外部网站的内容进行预览或打印。 下面给出一段基于给定资料中的数据获取 Hook 来构建此功能的例子[^4]: ```javascript // src/hooks/usePrintPage.js import { ref, onMounted } from 'vue'; export function usePrintPage(printUrl) { const content = ref(''); async function loadContent() { try { const response = await fetch(printUrl); if (!response.ok) throw new Error('Failed to get the page'); // 获取 HTML 文档字符串形式的目标页面源码 content.value = await response.text(); // 创建 iframe 并设置其 innerHTML 属性为所取得的远程页面内容 const frame = document.createElement('iframe'); frame.style.display = 'none'; document.body.appendChild(frame); // 将获得的内容注入到隐藏的 iframe 当中 frame.contentWindow.document.open(); frame.contentWindow.document.write(content.value); frame.contentWindow.document.close(); // 调用 iframe 上下文内的 window.print() setTimeout(() => { frame.contentWindow.focus(); frame.contentWindow.print(); // 清理 DOM 防止内存泄漏 document.body.removeChild(frame); }, 1000); // 给予一定延迟确保资源完全加载 } catch (e) { console.error(e.message); } } onMounted(loadContent); return {}; } ``` 接着,在需要的地方引入这个自定义 hook 即可应用上述逻辑: ```html <template> <!-- 这里放置其他 UI 元素 --> </template> <script setup lang="ts"> import { usePrintPage } from './hooks/usePrintPage'; usePrintPage('https://example.com/target-page.html'); // 替换成想要打印的实际链接地址 </script> ``` 这种方法允许开发者在一个新的上下文中(即通过 `<iframe>`)加载要打印的内容而不干扰当前页面的状态,从而实现了预期的功能——即在页面初次访问期间立即显示打印对话框让用户可以选择打印机选项以及确认打印操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值