【问题标题】:Chrome doesn't open url properly using process.start c#Chrome 无法使用 process.start c# 正确打开 url
【发布时间】:2017-12-22 17:19:50
【问题描述】:

我正在尝试使用 fakemailgenerator 做一些工作,该 url 与 httpwebrequest 配合得很好,并由 MessageBox.Show 正确打印,这是有问题的一段代码,顺便说一句,没有错误或异常。

                //FOR EXAMPLE mail@fakemail.com
                string[] mailSplit = mail.Split(new string[] { "@" }, 
                StringSplitOptions.None); // MAKING AN ARRAY TO SPLIT USER 
                AND DOMAIN

                string url = @"http://www.fakemailgenerator.com/#/" + 
                mailSplit[1] + "/" + mailSplit[0] + "/"; //GENERATING AND SAVING THE FAKE MAIL URL.
                MessageBox.Show(url); //THIS PRINTS http://www.fakemailgenerator.com/#/fakemail.com/mail
                Process.Start("chrome", url); //THIS GOES TO http://www.fakemailgenerator.com/#/fakemail.com

编辑

这与 fakemailgenerator.com 无关,因为如上所述我尝试使用 httpwebrequest,加上在加载状态它只是 http://www.fakemailgenerator.com/#/fakemail.com 而不是完整的 url。

编辑

我现在尝试手动放置 url,它运行良好,并且已成功在 chrome 中打开,我观察到使用 MessageBox.Show 打印时 url 存在一个问题(使用变量时,不手动设置 url),正在显示像http://www.fakemailgenerator.com/#/domain.com /user这样的网址在.com/user之间有一个空格,所以我尝试使用\0null)替换空格url.Replace(' ','\0'),但这失败了,所以我想也许有去除空白的方法?

【问题讨论】:

    标签: c# .net visual-studio google-chrome httpwebrequest


    【解决方案1】:

    运行代码,它运行良好。使用正确(完整)网址打开一个新的 Chrome 窗口。虽然这对我来说是一个错误页面,但是如果当您尝试访问该站点时该站点确实存在,那么可能会有某种重定向将您重定向到 URL 较短的站点。

    【讨论】:

    • 感谢您的回复,请问您的网址是带#还是不带?
    【解决方案2】:

    我已经解决了这个问题,我真的不知道它来自哪里,但我所知道的是,一个空格被添加到 url 的方式使得process.Start("chrome",url); 只接收前面的部分空白; http://www.fakemailgenerator.com/#/domain.com/ ,所以我刚刚用 url = url.Replace(" ",string.Empty); 删除了空格,现在代码可以正常工作了。

    【讨论】:

      猜你喜欢
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 2014-11-04
      • 2020-11-25
      • 2011-08-01
      相关资源
      最近更新 更多