none
c# 怎样通过<img src="http://www.a.com" > 来读取img里面网址源码。 RRS feed

  • 问题

  • c# 怎样通过<img src="http://www.baidu.com" /> 来读取img里面网址源码。

    由于浏览器不同内容不同,服务端怎样客户端访问该网址源码? 由于框架不能获取,所有采用img 来获取网站源码, 求高手


    2013年10月25日 6:18

全部回复

  • 你应该通过WebBrowser类或者XmlDocument等方式先定位到此标签,然后获取其属性"src"的值,最后用WebRequest和WebResponse获取其内容。

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月25日 6:23
  • 貌似  WebBrowser类获取地址,是服务器直接访问url地址 的内容

    2013年10月25日 6:54
  • 你可以给出具体包含这个节点的网站吗?

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月25日 7:31
  • 是这样,这两个文件是同一个域名a.aspx,b.aspx, 是另外一个域名 c.aspx
    在a.aspx是直接跳转b.aspx?id=1传递第是参数,由于会员id 所以传递参数不同。
    为了在c.aspx 触发a.aspx 采用这句<img src="http://localhost/a.aspx" /> 触发后是b.aspx 里面会输出对应的信息

    。  防止整个页面跳转所以采用img,如何在c.aspx 里面获取到 b.aspx 输出的内容。

    2013年10月25日 7:38
  • WebDocument的Navigate方法,然后通过处理DocumentComplete事件,在里边webBrowser1.Document.All循环遍历检查类型是否是img,获取其属性中的内容(InnerText),然后利用WebRequest和WebResponse来完成。

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月25日 8:03
  • 采用 s/c 不能用webBrowser
    2013年10月25日 8:32
  • C/S吧?你内部可以声明一个WebBrowser类来使用啊。

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月25日 8:33
  • 服务端是 aspx 文件 ,用户端采用浏览器访问的, 要是Form 很好实现

    是这样的,这两个文件是同一个域名a.aspx,b.aspx,  另外一个域名 里的c.aspx
    在a.aspx是直接跳转b.aspx?id=1有传递参数,由于会员id 所以传递参数不同。
    为了在c.aspx 触发a.aspx 采用这句<img src="http://localhost/a.aspx" /> 触发后是b.aspx 里面会输出对应的信息。  

    防止整个页面跳转所以采用img,我想在c.aspx 里面获取到 b.aspx 的源码。

    2013年10月25日 8:43
  • 可以考虑用Server.Execute而不是img嵌入——如果你只是要获取源码。

    但是要输出的话,可以在B.aspx中Response输出内容,然后用Server的Execute方法调用。

    签名:

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.


    2013年10月25日 8:49
  • 在c.aspx 文件获取 b.aspx 源码。b.aspx 的参数由a.aspx 给它,这样才能合法进入b.aspx ,

    由于域名不同,用户在访问c.aspx 时,页面用<img src="http://localhost/a.aspx" /> 来触发后来获取b.aspx 页面内容。

    采用流的方式来获取,

     
    2013年10月25日 9:13
  • >>在c.aspx 文件获取 b.aspx 源码。b.aspx 的参数由a.aspx 给它,这样才能合法进入b.aspx 

    或许你可以这样考虑:

    1)用户访问C的页面:

    1.1)用Server.Execute执行A的页面代码(A的代码内部应该直接生成参数,跳转到B页面)。

    1.2)B页面仍然被Execute继续执行。

    1.3)C页面仍然等待结果。


    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月25日 9:47
  • 同域名,才能用Server.Execute 这个方法,<img src="http://localhost/a.aspx" />是不同域名,   c.aspx 页面来获取这个img流 有没实现方法呢,
     

    2013年10月26日 2:01
  • 用AJAX异步请求读取源码后存放,具体看这个示例代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="CSharp.WebForm1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <script src="Scripts/jquery-2.0.3.js"></script>
        <script>
            $(function ()
            {
                $.get("你的远程网址", function (data) {
                    $("#divContent").text(data);
                });
            })
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <!--存放源代码的部分-->
            <div id="divContent">
    
            </div>
    
        </div>
        </form>
    </body>
    </html>

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 2:38
  • 不是这这种,客户端打开localhost:8082/c.aspx 时 同时也在访问loalhost/a.aspx  

    在c.aspx 文件里面加<img src="http://localhost/a.aspx" /> 这种来触发 获取img里面的源码或 数据流

    2013年10月26日 4:59
  • 您好,那么按照我上面的代码示例,您在访问某个页面的似乎同时也在异步访问另外一个页面,也输出了Html文本,不行吗?

    您期待的结果是什么?是一个图片还是流文字?


    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 5:35
  • 图片里的数据流在服务端读取
    2013年10月26日 6:35
  • 你的意思是远程的页面不是一个纯HTML而是一个图片文件?

    如果是的话可以用HttpHandler方式完成。

    如果您坚持要用网页形式当然可以,在PageLoad代码中输出图片即可。

    我没有理解的是:你说“获取源码”什么意思?服务器的代码编译成DLL貌似无法从客户端获取的,还是……?


    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 6:53
  • <img src="http://localhost/a.aspx" /> 这个里面是一个纯HTML 服务端要读取这个源码 HttpHandler 怎么实现
    2013年10月26日 7:05
  • HttpRequest

    有读取方法没呢?


    2013年10月26日 7:11
  • 你用img的src属性设置一个网页,这个网页里边是什么?是一个图片流吧?可是你又说“这个里面是一个纯HTML ”,到底是啥?

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 7:24
  • img的src属性设置一个网页,这个方法是去触发 http://localhost/a.aspx 这个文件里面就是html

    在http://localhost:8082/c.aspx  里面获取http://localhost/a.aspx 里面的源码


    2013年10月26日 8:27
  • >>http://localhost/a.aspx 这个文件里面就是html

    对不起,这句话什么意思?里边又嵌套了一个HTML文件?


    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 9:50
  • a.aspx输出的是html代码,

    c.aspx 里面有这句<img src="http://localhost/a.aspx" /> 

    访问http://localhost:8082/c.aspx时 在c.aspx 获取 a.aspx 输出的html源码

    2013年10月26日 9:57
  • 楼主,我认为你需要验证码对吧?我给你我做的验证码控件,你下载看看(注意看说明):

    http://visualstudiogallery.msdn.microsoft.com/24ef1a72-6b1c-428a-9908-8990d5d347f2


    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 10:14
  • 不是验证码,c.aspx 里面有这句 <img src="http://www.baidu.com"  /> 我要在c.aspx 读取  www.baidu.com这个网址源码。

    由于百度网站我是登陆状态,所以每个源码不一样,我要在c.aspx 文件里吗获取改html 内容

    2013年10月26日 11:04
  • 恕我冒昧——为啥你要用img标签加载源代码?

    Click For donating:Free Rice For the poor
    For spamming-sender issues, you can either report it at Microsoft Spamming Issue, or just find "Report Spam Here+Number" at Forum Issue;You can also find "Verify Your Account+Number" at "Forum Issue", where you can submit to be confirmed to paste links or images.
    For more things to talk about? StackOverFlow is your choice.

    2013年10月26日 11:57
  •  img 能通过流来获取,iframe不能获取跨域,他们都能 加载用户个人信息,就是不知道通过什么方法来获取这个img流,也就是该地址源码


    2013年10月26日 12:10
  •   你能尝试使用下面的代码,当然你可以新建一个ImageHandler.ashx 或新增一个页面:

    protected void Page_Load(object sender, EventArgs e)
            {
                Response.Clear();
                WebClient client = new WebClient();
                using (MemoryStream memStream = new MemoryStream(client.DownloadData("http://www.baidu.com/")))
                 {
                     HtmlDocument doc = new HtmlDocument();
                    // HtmlDocument docStockContext = new HtmlDocument(); 
            //GET a or some htmlelement
        //docStockContext.LoadHtml(doc.DocumentNode.SelectSingleNode(
    "/html[1]/body[1]/center[1]/table[2]/tr[1]/td[1]/table[1]").InnerHtml);
    
                     doc.Load(memStream, Encoding.Default);
                     memStream.WriteTo(HttpContext.Current.Response.OutputStream);
                 }
    }
    


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年10月31日 4:38
    版主