欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信环境中如何实现点击链接自动直接跳转到手机外部默认浏览器

程序员文章站 2022-04-28 23:50:00
...

正常情况下在微信中打开链接会有各种各样的限制,无法在微信内打开常用下载软件,APP等,链接发到微信中,微信会判断是不是可以让你从里面打开,识别是否合法,网上流传的各种微信打开下载链接,微信一更新基本失效。下面给大家分享的一种方式是:直接判断微信的ua,如果是在微信内置浏览器中打开,弹出一个遮罩提示用户在浏览器中打开下载,并且不加关闭的按钮。这样用户就只能在浏览器中打开,就可以直接下载应用了,不用管微信如何的更新。微信跳转链接是什么意思呢 ? 微信跳转链接是能实现微信内打开链接直接自动跳转到浏览器访问 , 使用的是第三方微信接口。
2. 什么时候需要用到微信跳转链接 ? 当你的微信推广链接在微信被拦 , 导致用户无法下载 APP 或者无法正常访问指定页面的情况下 , 担心会被拦截提前想预防的情况下。
3. 微信跳转链接是否会被拦截?微信跳转链接通常不会被微信拦截,因为本就是使用的微信 scheme 接口。
微信环境中如何实现点击链接自动直接跳转到手机外部默认浏览器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using Xfrog.Net;
using System.Diagnostics;
using System.Web;


namespace ConsoleAPI{
    class Program{
        static void Main(string[] args){
            string url = "http://api.monkeyapi.com";

            var parameters = new Dictionary<string, string>();

            parameters.Add("appkey" , "appkey"); //您申请的APPKEY
            parameters.Add("url" , "www.monkeyapi.com"); //需要查询的网站

            string result = sendPost(url, parameters, "post");

            // 代码中JsonObject类下载地址:http://download.csdn.net/download/gcm3206021155665/7458439
            JsonObject newObj = new JsonObject(result);
            String errorCode = newObj["error_code"].Value;

            if (errorCode == "0")
            {
                Debug.WriteLine("成功");
                Debug.WriteLine(newObj);
            }
            else
            {
                //Debug.WriteLine("请求异常");
                Debug.WriteLine(newObj["error_code"].Value+":"+newObj["reason"].Value);
            }
        }

        /// <summary>
        /// Http (GET/POST)
        /// </summary>
        /// <param name="url">请求URL</param>
        /// <param name="parameters">请求参数</param>
        /// <param name="method">请求方法</param>
        /// <returns>响应内容</returns>
        static string sendPost(string url, IDictionary<string, string> parameters, string method){
            if (method.ToLower() == "post")
                {
                    HttpWebRequest req = null;
                    HttpWebResponse rsp = null;
                    System.IO.Stream reqStream = null;
                try
                {