65.9K
CodeProject 正在变化。 阅读更多。
Home

PC 版移动浏览器

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.55/5 (5投票s)

2013 年 5 月 24 日

CPOL

1分钟阅读

viewsIcon

145246

downloadIcon

198

这是一个适用于PC的简单移动网页浏览器,用于在PC(Windows)上查看移动网站。

引言

这段代码指导您如何更改任何浏览器的用户代理。

这是一个适用于PC的简单移动网页浏览器。用于在PC(Windows)上查看移动网站
https://sourceforge.net/projects/mobile-browser/

背景

浏览器的移动版本(Mobile-browser)。浏览体验如同在您的移动设备上,支持各种用户代理,例如(iPhone、Nokia Windows Phone、Android、Google Chrome、Firefox)。这是一个适用于PC/Windows的简单移动网页浏览器

您现在可以在PC上像打开Facebook、YouTube、Google等移动网站一样打开它们。客户端/用户代理包括Android、iOS、iPhone、iPad、Chrome、Firefox、Internet Explorer 7、IE8 WP8。即将推出更新,添加新的用户代理,并更改UI、提高性能和修复错误。需要 .NET Framework 3.5 或 4.0

屏幕截图 

mobile-web-browser-for-pc_SumeetGehimobile-web-browser-for-pc_SumeetGehi

 

使用代码 

代码非常简单,当我们更改用户代理时,urlmon.dll 文件会起作用,并将任何网站的用户界面更改为它们的移动格式。注意:您需要添加以下引用来导入 DLL 文件

System.Runtime.InteropServices; and urlmon.dll  file  
// Created by Sumeet Gehi
// Windows Forms
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
// YOU HAVE TO ADD REFERENC
using System.Runtime.InteropServices;
 
namespace MobileBrowser
{
    public partial class Form1 : Form
    { 
        // TO IMPORT DLL FILE
        [DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
 
        private static extern int UrlMkSetSessionOption(int dwOption, 
                  string pBuffer, int dwBufferLength, int dwReserved);
 
        const int URLMON_OPTION_USERAGENT = 0x10000001;
 
        public void ChangeUserAgent(string Agent)
        {
            UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, Agent, Agent.Length, 0);
            
        }       
        //Create string for user agents 
        string and_40 = "Mozilla/5.0 (Linux; Android 4.0.4; DROID RAZR Build/6.7" + 
          ".2-180_DHD-16_M4-31) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/";
        string iphone_30 = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X;" + 
          " en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";
        //  string iphone_60 = "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X)
        //          AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B143 Safari/8536.25";
        string ipad = "Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit" + 
          "/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3";
        string and_23 = "Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 " + 
          "Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1";
        //  string motorola_razr_40="Mozilla/5.0 (Linux; Android 4.0.4; DROID RAZR
        //   Build/6.7.2-180_DHD-16_M4-31) AppleWebKit/535.19
        // (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/";
        //  string htc_23 = "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us;
        //    ADR6300 Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1";
        // string chrome_24 = "Mozilla/5.0 (Windows NT 6.1; WOW64)
        //    AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17";
        string chrome_13 = "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 " + 
          "(KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1";
        string ie_8 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; " + 
          "Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 3.5.30729)";
        //   string ie_10 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
        string ie_10_win8 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone" + 
          " 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)";

创建函数,当用户按下 Enter 键时,导航到 TextBox 中的 URL

// Create function for when user hit Enter then navigate to the URL that in TextBox
            
private void TextBoxUrl_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        webBrowser1.Navigate(TextBoxUrl.Text);
        MessageBox.Show("You press Enter");
    }
}

当用户点击“GO”按钮时

private void toolStrip_GoButton_Click(object sender, EventArgs e)
{	
    try
    {
       if (radioButton1.Checked == true)
        {
            ChangeUserAgent(and_40);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", 
                   null, "User-Agent: {0}" + and_40);
           // TextBoxUrl.Text = webBrowser1.Url.ToString();
            labelurl.Text =Convert.ToString(webBrowser1.Url.AbsolutePath);
            
        }
        else if (radioButton2.Checked == true)
        {
            ChangeUserAgent(and_23);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", 
                   null, "User-Agent: {0}" + and_23);
            labelurl.Text = Convert.ToString(webBrowser1.Url.AbsoluteUri);
        }
        else if (radioButton3.Checked == true)
        {
            ChangeUserAgent(iphone_30);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", null, 
                   "User-Agent: {0}" + iphone_30);
            labelurl.Text = Convert.ToString(webBrowser1.Url.AbsoluteUri);
        }
        if (radioButton4.Checked == true)
        {
            ChangeUserAgent(ipad);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", 
                 null, "User-Agent: {0}" + ipad);
            labelurl.Text = Convert.ToString(webBrowser1.Url.AbsoluteUri);
        }
        else if (radioButton5.Checked == true)
        {
            ChangeUserAgent(chrome_13);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", null, 
                    "User-Agent: {0}" + chrome_13);
            labelurl.Text = Convert.ToString(webBrowser1.Url.AbsoluteUri);
            
        }
        else if (radioButton6.Checked == true)
        {
            ChangeUserAgent(ie_8);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", 
                   null, "User-Agent: {0}" + ie_8);
            labelurl.Text = Convert.ToString(webBrowser1.Url.AbsoluteUri);
        }
        else if (radioButton_WP8.Checked == true)
        {
            ChangeUserAgent(ie_10_win8);
            webBrowser1.Navigate(TextBoxUrl.Text, "_self", 
                  null, "User-Agent: {0}" + ie_10_win8);
            labelurl.Text = Convert.ToString(webBrowser1.Url.AbsoluteUri)
            
        }
    }
    catch(Exception exce)
    {
        
        MessageBox.Show("have an error occured","Error!");
    }           
}

其他按钮

private void toolStrip_FwdButton_Click(object sender, EventArgs e)
{
    webBrowser1.GoForward();
}

private void toolStrip_BackButton_Click(object sender, EventArgs e)
{
    webBrowser1.GoBack();
}
private void toolStrip_RefreshButton_Click(object sender, EventArgs e)
{
      webBrowser1.Refresh();        
}

private void toolStrip_StopButton_Click(object sender, EventArgs e)
{
    webBrowser1.Stop();
}   
 private void closeToolStripMenuItem_Click(object sender, EventArgs e)
{
    Close();
}

包含的文件

  • bin/ 中的 urlmon.dll
  • 大小:1.0mb

这篇文章仅供初学者学习如何在任何网络浏览器中更改用户界面(用户代理)

历史   

这是我的第二篇文章/技巧。我知道它有很多错误。我希望我的下一篇文章比这更好。

下次更新即将推出
© . All rights reserved.