是否有任何解决方案来检查网页是否适合移动(C#)

时间:2015-12-26 04:57:49

标签: c# winforms mobile responsive-design

我很想知道,因为大多数网站使用自适应主题或移动设备友好是否有任何解决方案来检查给定的网址是否适合移动设备或无法以编程方式进行。

谷歌(手册)中存在类似的解决方案 - https://www.google.co.uk/webmasters/tools/mobile-friendly/

你们对可能的解决方案有任何想法吗?

2 个答案:

答案 0 :(得分:1)

以下使用this code from GitHub

(1)从Google Developers Console

获取您的Google API密钥

(2)自定义以下php代码,或以编程方式生成。请注意,在第19行,您需要使用自己的API密钥并输入自己的网址

 <?php
    /**
     * @param $url
     * @param $apiKey
     * @return mixed
     */
    function isMobileReady($url, $apiKey)
    {
        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL => 'https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?key='.$apiKey.'&url='.$url.'&strategy=mobile',
        ));
        $resp = curl_exec($curl);
        curl_close($curl);
        return $resp;
    }
    //result as an array look for  ["pass"]=> bool(true) } or false
    $result = json_decode(isMobileReady('https://www.panchroma.ca/en/', 'AIzaSyDSrus1NcAIFXOWQjoAgwEOVChX_KEnhg_dummy_api_key'), true);
    var_dump($result);

(3)将pagespeed结果转储到屏幕上,我认为移动友好测试结果最重要的信息接近顶部。寻找

{ ["USABILITY"]=> array(2) { ["score"]=> int(98) ["pass"]=> bool(true) } }  

得分是您的Google PageSpeed得分[0-100]和&#34;通过&#34; boolean是true或false,true等同于传递Mobile Friendly Test

完全记入to this author

希望这有帮助!

答案 1 :(得分:0)

https://console.developers.google.com/apis/api/pagespeedonline-json.googleapis.com/overview?project=citric-program-395&hl=pt-br&duration=P30D中获取PageSpeed Insights API KEY并创建凭据,按照Google的说明进行操作。

在项目中添加Newtonsoft.Json的参考。

在C#(6.0)和.NET 4.5.2中,我做了一些这样的事情:

String yourURL = "https://www.google.com.br";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://www.googleapis.com");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var response = client.GetAsync($"/pagespeedonline/v3beta1/mobileReady?url={yourURL }&key=AIzaSyArsacdp79HPFfRZRvXaiLEjCD1LtDm3ww").Result;
string json = response.Content.ReadAsStringAsync().Result;
JObject obj = JObject.Parse(json);
bool isMobileFriendly = obj.Value<JObject>("ruleGroups").Value<JObject>("USABILITY").Value<bool>("pass");