Как получить HttpWebRequest. AllowAutoRedirect для установки cookie при выполнении ПОЛУЧЕНИЯ/POST на redrected странице?

Используйте фильтры atrim , asetpts и concat :

ffmpeg -i input.mp3 -i second.mp3 -filter_complex "[0:a]atrim=end=10,asetpts=N/SR/TB[begin];[0:a]atrim=start=10,asetpts=N/SR/TB[end];[begin][1:a][end]concat=n=3:v=0:a=1[a]" -map "[a]" output

Примечание. Все соответствующие потоки должны иметь одинаковые параметры. во всех сегментах; система фильтрации автоматически выберет общий формат семплов, частоту семплов и схему каналов для аудиопотоков. Эти общие параметры будут варьироваться в зависимости от входных параметров, поэтому добавьте фильтр формата (или эквивалентный), если вы хотите получить согласованные результаты:

ffmpeg -i input.mp3 -i second.mp3 -filter_complex "[0:a]atrim=end=10,aformat=sample_rates=44100:channel_layouts=stereo,asetpts=N/SR/TB[begin];[1:a]aformat=sample_rates=44100:channel_layouts=stereo[middle];[0:a]atrim=start=10,aformat=sample_rates=44100:channel_layouts=stereo,asetpts=N/SR/TB[end];[begin][middle][end]concat=n=3:v=0:a=1[a]" -map "[a]" output

11
задан lc. 21 April 2009 в 23:49
поделиться

2 ответа

I know to make separate requests (ie. different HttpRequest objects) work with cookies, you need to set the HttpRequest.CookieContainer property on both requests to the same instance of a CookieContainer. You might need that for this case as well.

5
ответ дан 3 December 2019 в 11:38
поделиться

Если вы не хотите использовать CookieContainer, следующий код откроет страницу, предоставив cookie в параметре. Затем он загрузит все файлы cookie, установленные на этой странице, и вернет их в виде списка строк.

Обратите внимание, что AllowAutoRedirect имеет значение false. Если вы хотите выполнить перенаправление, извлеките этот объект из заголовков HttpWebResponse и затем вручную создайте другой веб-запрос.

Public Shared Function GetCookiesSetByPage(ByVal strUrl As String, ByVal cookieToProvide As String) As IEnumerable(Of String)

    Dim req As System.Net.HttpWebRequest
    Dim res As System.Net.HttpWebResponse
    Dim sr As System.IO.StreamReader

    '--notice that the instance is created using webrequest 
    '--this is what microsoft recomends 
    req = System.Net.WebRequest.Create(strUrl)

    'set the standard header information 
    req.Accept = "*/*"
    req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)"
    req.ContentType = "application/x-www-form-urlencoded"
    req.AllowAutoRedirect = False
    req.Headers.Add(HttpRequestHeader.Cookie, cookieToProvide)
    res = req.GetResponse()

    'read in the page 
    sr = New System.IO.StreamReader(res.GetResponseStream())
    Dim strResponse As String = sr.ReadToEnd

    'Get the cooking from teh response
    Dim strCookie As String = res.Headers(System.Net.HttpResponseHeader.SetCookie)
    Dim strRedirectLocation As String = res.Headers(System.Net.HttpResponseHeader.Location)
    Dim result As New List(Of String)
    If Not strCookie = Nothing Then
        result.Add(strCookie)
    End If
    result.Add(strRedirectLocation)
    Return result
End Function
0
ответ дан 3 December 2019 в 11:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: