Ignore:
Timestamp:
01/12/21 15:37:48 (21 months ago)
Author:
obi
Message:

[libeplayer3] add cookie from filename and use urlenc for headers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/libeplayer3/container/container_ffmpeg.c

    r44981 r45122  
    21262126                        }
    21272127                }
     2128/*
    21282129                if(cookie != NULL)
    21292130                {
     
    21332134                else
    21342135                        ffmpeg_printf(10, "skip set cookies : %s\n", cookie);
    2135 
     2136*/
    21362137                ffmpeg_printf(10, "check user-agent and header\n");
    21372138
    2138                 if (ostrstr(filename, "&tslivemode=1") != NULL)
     2139                if (ostrstr(filename, "&tslivemode=1") != NULL)
    21392140                        usetslivemode = 1;
    21402141
     
    21722173                                                                {
    21732174                                                                        if(ostrcmp("User-Agent", ret3[i3].part) == 0)
    2174                                                                         {
    2175                                                                                 av_dict_set(&avio_opts, "user-agent", ret3[i3 + 1].part, 0);
    2176                                                                                 ffmpeg_printf(10, "set user-agent: %s\n", ret3[i3 + 1].part);
    2177                                                                                 useragent = ostrcat(useragent, ret3[i3 + 1].part, 1, 0);
    2178                                                                         }
     2175                                                                                useragent = ostrcat(ret3[i3 + 1].part, NULL, 0, 0);
     2176                                                                        else if(ostrcmp("Cookie", ret3[i3].part) == 0)
     2177                                                                                cookie = ostrcat(cookie, ret3[i3 + 1].part, 1, 0);
    21792178                                                                        else
    21802179                                                                        {
     
    21962195                            if(headers != NULL)
    21972196                                {
     2197/*
     2198Referer: https %3A %2F %2F upstream.to %2F embed-ldd233xca41c.html
     2199Referer: https :   /   /   upstream.to /   embed-ldd233xca41c.html
     2200*/
     2201                                        headers = string_replace_all("%3A", ":", headers, 1);
     2202                                        headers = string_replace_all("%3B", ";", headers, 1);
    21982203                                        headers = string_replace_all("%3D", "=", headers, 1);
    21992204                                        headers = string_replace_all("%26", "&", headers, 1);
     2205                                        headers = string_replace_all("%28", "(", headers, 1);
     2206                                        headers = string_replace_all("%29", ")", headers, 1);                                   
     2207                                        headers = string_replace_all("%2C", ",", headers, 1);
     2208                                        headers = string_replace_all("%2F", "/", headers, 1);
     2209                                        headers = string_replace_all("%3A", ":", headers, 1);
     2210                                        headers = string_replace_all("+", " ", headers, 1);
     2211
    22002212                                av_dict_set(&avio_opts, "headers", headers, 0);
    22012213                                        ffmpeg_printf(10, "set headers: %s\n", headers);
     
    22042216                                        ffmpeg_printf(10, "skip set headers: %s\n", headers);
    22052217
    2206                             if(useragent == NULL)
    2207                                         ffmpeg_printf(10, "skip set user-agent: %s\n", headers);
     2218                            if(useragent != NULL)
     2219                            {
     2220/*
     2221User-Agent: Mozilla %2F 5.0+ %28 Windows+NT+10.0 %3B +rv %3A 44.0 %29 +Gecko %2F 20100101+Firefox %2F 44.0
     2222User-Agent: Mozilla /   5.0+ (   Windows+NT+10.0 ;   +rv :   44.0 )   +Gecko /   20100101+Firefox /   44.0
     2223
     2224*/
     2225                                        useragent = string_replace_all("%3A", ":", useragent, 1);
     2226                                        useragent = string_replace_all("%3B", ";", useragent, 1);
     2227                                        useragent = string_replace_all("%3D", "=", useragent, 1);
     2228                                        useragent = string_replace_all("%26", "&", useragent, 1);
     2229                                        useragent = string_replace_all("%28", "(", useragent, 1);
     2230                                        useragent = string_replace_all("%29", ")", useragent, 1);                                       
     2231                                        useragent = string_replace_all("%2C", ",", useragent, 1);
     2232                                        useragent = string_replace_all("%2F", "/", useragent, 1);
     2233                                        useragent = string_replace_all("%3A", ":", useragent, 1);
     2234                                        useragent = string_replace_all("+", " ", useragent, 1);
     2235                                        ffmpeg_printf(10, "set user-agent: %s\n", useragent);
     2236                                        av_dict_set(&avio_opts, "user-agent", useragent, 0);
     2237                                }
     2238                            else
     2239                                        ffmpeg_printf(10, "skip set user-agent: %s\n", useragent);
    22082240                        }
    22092241
     
    22142246                        stringreplacechar(filename, '|', '\0');         
    22152247                        ffmpeg_printf(10, "changed filename: %s\n", filename);
    2216 
    22172248                }
     2249
     2250            if(cookie != NULL)
     2251            {
     2252/*
     2253__ddg1 %3D w1mW5o1idPp9sUV8MaSL %3B +Domain %3D .upstream.to %3B +HttpOnly %3B +Path %3D %2F %3B +Expires %3D Wed %2C +12-Jan-2022+13 %3A 37 %3A 51+GMT
     2254__ddg1 =   w1mW5o1idPp9sUV8MaSL ;   +Domain =   .upstream.to ;   +HttpOnly ;   +Path =   /   ;   +Expires =   Wed ,   +12-Jan-2022+13 :   37 :   51+GMT
     2255*/
     2256                        cookie = string_replace_all("%3A", ":", cookie, 1);
     2257                        cookie = string_replace_all("%3B", ";", cookie, 1);
     2258                        cookie = string_replace_all("%3D", "=", cookie, 1);
     2259                        cookie = string_replace_all("%26", "&", cookie, 1);
     2260                        cookie = string_replace_all("%28", "(", cookie, 1);
     2261                        cookie = string_replace_all("%29", ")", cookie, 1);                                     
     2262                        cookie = string_replace_all("%2C", ",", cookie, 1);
     2263                        cookie = string_replace_all("%2F", "/", cookie, 1);
     2264                        cookie = string_replace_all("%3A", ":", cookie, 1);
     2265                        cookie = string_replace_all("+", " ", cookie, 1);
     2266                       
     2267                        av_dict_set(&avio_opts, "cookies", cookie, 0);
     2268                        ffmpeg_printf(10, "set cookies: %s\n", cookie);
     2269                }
     2270            else
     2271                        ffmpeg_printf(10, "skip set cookies: %s\n", cookie);
     2272
     2273                free(cookie), cookie = NULL;
     2274
    22182275                ffmpeg_printf(10, "check tslivemode\n");
    22192276
    22202277//              if (ostrstr(filename, ".m3u8") != NULL)
    2221                 if (usetslivemode == 1)
    2222                 {
     2278                if (usetslivemode == 1)
     2279                {
    22232280                        ffmpeg_printf(10, "set tslivemode\n");
    22242281                        context->playback->isTSLiveMode = 1;
Note: See TracChangeset for help on using the changeset viewer.