Созданный Python автономный исполняемый файл (pwc.exe) всегда выводит html-данные веб-сайта на консоль любого веб-сайта, когда я запускаю его из командной строки.
Но когда я пытаюсь прочитать этот вывод в строку c #, в большинстве случаев (это хорошо работает только на очень маленьких сайтах) я получаю пустую строку в c #.
В этой ситуации все отлично работает
Вывод на консоль правильный, но пустая строка c #
pwc.exe Код:
from lxml import html
import requests
import sys
url=sys.argv[1]
host=sys.argv[2]
headers = {'Host': host, 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0', 'Accept' : 'Accept: text/css,*/*;q=0.1', 'Accept-Language':'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br', 'Connection':'keep-alive'}
r = requests.get(url, headers = headers)
r.encoding = 'UTF-8'
print (r.text)
код c #:
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = AppDomain.CurrentDomain.BaseDirectory + @"pwc.exe",
Arguments = "https://www.bbc.com/about-us www.bbc.com",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden
}
};
proc.Start();
string html = proc.StandardOutput.ReadToEnd();
Мне нужно получить вывод консоли pwc.exe (utf8) в строку C #.Похоже, когда я читаю вывод очень маленьких страниц, все работает нормально в C #.
ps Пытался читать так, но это не помогло:
while (!proc.StandardOutput.EndOfStream)
{
html = proc.ou.ReadLine();
}