mirror of
https://github.com/TeamNewPipe/NewPipeExtractor
synced 2024-11-22 01:46:06 +01:00
Compare commits
9 Commits
a8f4845479
...
b27aa3a87b
Author | SHA1 | Date | |
---|---|---|---|
|
b27aa3a87b | ||
|
9fb03f6c87 | ||
|
e4a1a6ecd8 | ||
|
727e791602 | ||
|
d635d4db2a | ||
|
ea1a1d1375 | ||
|
c00d0a7028 | ||
|
667c867ad8 | ||
|
c06b8731f1 |
@ -28,7 +28,7 @@ public abstract class Extractor {
|
||||
@Nullable
|
||||
private ContentCountry forcedContentCountry = null;
|
||||
|
||||
private boolean isPageFetched = false;
|
||||
private boolean pageFetched = false;
|
||||
// called like this to prevent checkstyle errors about "hiding a field"
|
||||
private final Downloader downloader;
|
||||
|
||||
@ -54,21 +54,21 @@ public abstract class Extractor {
|
||||
* @throws ExtractionException if the pages content is not understood
|
||||
*/
|
||||
public void fetchPage() throws IOException, ExtractionException {
|
||||
if (isPageFetched) {
|
||||
if (pageFetched) {
|
||||
return;
|
||||
}
|
||||
onFetchPage(downloader);
|
||||
isPageFetched = true;
|
||||
pageFetched = true;
|
||||
}
|
||||
|
||||
protected void assertPageFetched() {
|
||||
if (!isPageFetched) {
|
||||
if (!pageFetched) {
|
||||
throw new IllegalStateException("Page is not fetched. Make sure you call fetchPage()");
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isPageFetched() {
|
||||
return isPageFetched;
|
||||
return pageFetched;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -7,21 +7,14 @@ import org.schabi.newpipe.extractor.utils.Parser;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.MatchResult;
|
||||
|
||||
/**
|
||||
* A helper class that is meant to be used by services that need to parse durations such as
|
||||
* {@code 23 seconds} and/or upload dates in the format {@code 2 days ago} or similar.
|
||||
*/
|
||||
public class TimeAgoParser {
|
||||
|
||||
private static final Pattern DURATION_PATTERN = Pattern.compile("(?:(\\d+) )?([A-z]+)");
|
||||
|
||||
private final PatternsHolder patternsHolder;
|
||||
private final OffsetDateTime now;
|
||||
|
||||
@ -50,13 +43,11 @@ public class TimeAgoParser {
|
||||
* @throws ParsingException if the time unit could not be recognized
|
||||
*/
|
||||
public DateWrapper parse(final String textualDate) throws ParsingException {
|
||||
for (final Map.Entry<ChronoUnit, Map<String, Integer>> caseUnitEntry
|
||||
: patternsHolder.specialCases().entrySet()) {
|
||||
for (final var caseUnitEntry : patternsHolder.specialCases().entrySet()) {
|
||||
final ChronoUnit chronoUnit = caseUnitEntry.getKey();
|
||||
for (final Map.Entry<String, Integer> caseMapToAmountEntry
|
||||
: caseUnitEntry.getValue().entrySet()) {
|
||||
for (final var caseMapToAmountEntry : caseUnitEntry.getValue().entrySet()) {
|
||||
final String caseText = caseMapToAmountEntry.getKey();
|
||||
final Integer caseAmount = caseMapToAmountEntry.getValue();
|
||||
final int caseAmount = caseMapToAmountEntry.getValue();
|
||||
|
||||
if (textualDateMatches(textualDate, caseText)) {
|
||||
return getResultFor(caseAmount, chronoUnit);
|
||||
@ -67,48 +58,6 @@ public class TimeAgoParser {
|
||||
return getResultFor(parseTimeAgoAmount(textualDate), parseChronoUnit(textualDate));
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a textual duration into a duration computer number.
|
||||
*
|
||||
* @param textualDuration the textual duration to parse
|
||||
* @return the textual duration parsed, as a primitive {@code long}
|
||||
* @throws ParsingException if the textual duration could not be parsed
|
||||
*/
|
||||
public long parseDuration(final String textualDuration) throws ParsingException {
|
||||
// We can't use Matcher.results, as it is only available on Android 14 and above
|
||||
final Matcher matcher = DURATION_PATTERN.matcher(textualDuration);
|
||||
final List<MatchResult> results = new ArrayList<>();
|
||||
while (matcher.find()) {
|
||||
results.add(matcher.toMatchResult());
|
||||
}
|
||||
|
||||
return results.stream()
|
||||
.map(match -> {
|
||||
final String digits = match.group(1);
|
||||
final String word = match.group(2);
|
||||
|
||||
int amount;
|
||||
try {
|
||||
amount = Integer.parseInt(digits);
|
||||
} catch (final NumberFormatException ignored) {
|
||||
amount = 1;
|
||||
}
|
||||
|
||||
final ChronoUnit unit;
|
||||
try {
|
||||
unit = parseChronoUnit(word);
|
||||
} catch (final ParsingException ignored) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
return amount * unit.getDuration().getSeconds();
|
||||
})
|
||||
.filter(n -> n > 0)
|
||||
.reduce(Long::sum)
|
||||
.orElseThrow(() -> new ParsingException(
|
||||
"Could not parse duration \"" + textualDuration + "\""));
|
||||
}
|
||||
|
||||
private int parseTimeAgoAmount(final String textualDate) {
|
||||
try {
|
||||
return Integer.parseInt(textualDate.replaceAll("\\D+", ""));
|
||||
|
@ -35,7 +35,7 @@ public final class AudioStream extends Stream {
|
||||
|
||||
// Fields for DASH
|
||||
private int itag = ITAG_NOT_AVAILABLE_OR_NOT_APPLICABLE;
|
||||
private int bitRate;
|
||||
private int bitrate;
|
||||
private int initStart;
|
||||
private int initEnd;
|
||||
private int indexStart;
|
||||
@ -351,7 +351,7 @@ public final class AudioStream extends Stream {
|
||||
this.itagItem = itagItem;
|
||||
this.itag = itagItem.id;
|
||||
this.quality = itagItem.getQuality();
|
||||
this.bitRate = itagItem.getBitrate();
|
||||
this.bitrate = itagItem.getBitrate();
|
||||
this.initStart = itagItem.getInitStart();
|
||||
this.initEnd = itagItem.getInitEnd();
|
||||
this.indexStart = itagItem.getIndexStart();
|
||||
@ -369,8 +369,8 @@ public final class AudioStream extends Stream {
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean areStatsEqual(final Stream cmp) {
|
||||
return super.areStatsEqual(cmp) && cmp instanceof AudioStream
|
||||
public boolean equalStats(final Stream cmp) {
|
||||
return super.equalStats(cmp) && cmp instanceof AudioStream
|
||||
&& averageBitrate == ((AudioStream) cmp).averageBitrate
|
||||
&& Objects.equals(audioTrackId, ((AudioStream) cmp).audioTrackId)
|
||||
&& audioTrackType == ((AudioStream) cmp).audioTrackType
|
||||
@ -405,8 +405,8 @@ public final class AudioStream extends Stream {
|
||||
*
|
||||
* @return the bitrate set from the {@link ItagItem} passed in the constructor of the stream.
|
||||
*/
|
||||
public int getBitRate() {
|
||||
return bitRate;
|
||||
public int getBitrate() {
|
||||
return bitrate;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -74,7 +74,7 @@ public abstract class Stream implements Serializable {
|
||||
return false;
|
||||
}
|
||||
for (final Stream cmpStream : streamList) {
|
||||
if (stream.areStatsEqual(cmpStream)) {
|
||||
if (stream.equalStats(cmpStream)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -97,7 +97,7 @@ public abstract class Stream implements Serializable {
|
||||
* @param other the stream object to be compared to this stream object
|
||||
* @return whether the stream have the same stats or not, based on the criteria above
|
||||
*/
|
||||
public boolean areStatsEqual(@Nullable final Stream other) {
|
||||
public boolean equalStats(@Nullable final Stream other) {
|
||||
if (other == null || mediaFormat == null || other.mediaFormat == null) {
|
||||
return false;
|
||||
}
|
||||
|
@ -265,8 +265,8 @@ public final class SubtitlesStream extends Stream {
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean areStatsEqual(final Stream cmp) {
|
||||
return super.areStatsEqual(cmp)
|
||||
public boolean equalStats(final Stream cmp) {
|
||||
return super.equalStats(cmp)
|
||||
&& cmp instanceof SubtitlesStream
|
||||
&& code.equals(((SubtitlesStream) cmp).code)
|
||||
&& autoGenerated == ((SubtitlesStream) cmp).autoGenerated;
|
||||
|
@ -326,8 +326,8 @@ public final class VideoStream extends Stream {
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean areStatsEqual(final Stream cmp) {
|
||||
return super.areStatsEqual(cmp)
|
||||
public boolean equalStats(final Stream cmp) {
|
||||
return super.equalStats(cmp)
|
||||
&& cmp instanceof VideoStream
|
||||
&& resolution.equals(((VideoStream) cmp).resolution)
|
||||
&& isVideoOnly == ((VideoStream) cmp).isVideoOnly;
|
||||
|
@ -18,8 +18,11 @@ import okhttp3.RequestBody;
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
public final class DownloaderTestImpl extends Downloader {
|
||||
/**
|
||||
* Should be the latest Firefox ESR version.
|
||||
*/
|
||||
private static final String USER_AGENT
|
||||
= "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";
|
||||
= "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0";
|
||||
private static DownloaderTestImpl instance;
|
||||
private final OkHttpClient client;
|
||||
|
||||
|
@ -15,6 +15,7 @@ import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@ -37,17 +38,31 @@ import javax.annotation.Nonnull;
|
||||
*/
|
||||
class RecordingDownloader extends Downloader {
|
||||
|
||||
public final static String FILE_NAME_PREFIX = "generated_mock_";
|
||||
public static final String FILE_NAME_PREFIX = "generated_mock_";
|
||||
|
||||
// From https://stackoverflow.com/a/15875500/13516981
|
||||
private final static String IP_V4_PATTERN =
|
||||
private static final String IP_V4_PATTERN =
|
||||
"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";
|
||||
|
||||
private int index = 0;
|
||||
private final String path;
|
||||
|
||||
// try to prevent ReCaptchaExceptions / rate limits by tracking and throttling the requests
|
||||
/**
|
||||
* Creates the folder described by {@code stringPath} if it does not exists.
|
||||
* The maximum number of requests per 20 seconds which are executed
|
||||
* by the {@link RecordingDownloader}.
|
||||
* 20 seconds is used as upper bound because the rate limit can be triggered within 30 seconds
|
||||
* and hitting the rate limit should be prevented because it comes with a bigger delay.
|
||||
* The values can be adjusted when executing the downloader and running into problems.
|
||||
* <p>TODO: Allow adjusting the value by setting a param in the gradle command</p>
|
||||
*/
|
||||
private static final int MAX_REQUESTS_PER_20_SECONDS = 30;
|
||||
private static final long[] requestTimes = new long[MAX_REQUESTS_PER_20_SECONDS];
|
||||
private static int requestTimesCursor = -1;
|
||||
private static final Random throttleRandom = new Random();
|
||||
|
||||
/**
|
||||
* Creates the folder described by {@code stringPath} if it does not exist.
|
||||
* Deletes existing files starting with {@link RecordingDownloader#FILE_NAME_PREFIX}.
|
||||
* @param stringPath Path to the folder where the json files will be saved to.
|
||||
*/
|
||||
@ -69,6 +84,48 @@ class RecordingDownloader extends Downloader {
|
||||
@Override
|
||||
public Response execute(@Nonnull final Request request) throws IOException,
|
||||
ReCaptchaException {
|
||||
|
||||
// Delay the execution if the max number of requests per minute is reached
|
||||
final long currentTime = System.currentTimeMillis();
|
||||
// the cursor points to the latest request time and the next position is the oldest one
|
||||
final int oldestRequestTimeCursor = (requestTimesCursor + 1) % requestTimes.length;
|
||||
final long oldestRequestTime = requestTimes[oldestRequestTimeCursor];
|
||||
if (oldestRequestTime + 20_000 >= currentTime) {
|
||||
try {
|
||||
// sleep at least until the oldest request is 20s old, but not more than 20s
|
||||
final int minSleepTime = (int) (currentTime - oldestRequestTime);
|
||||
Thread.sleep(minSleepTime + throttleRandom.nextInt(20_000 - minSleepTime));
|
||||
} catch (InterruptedException e) {
|
||||
// handle the exception gracefully because it's not critical for the test
|
||||
System.err.println("Error while throttling the RecordingDownloader.");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
requestTimesCursor = oldestRequestTimeCursor; // the oldest value needs to be overridden
|
||||
requestTimes[requestTimesCursor] = System.currentTimeMillis();
|
||||
|
||||
// Handle ReCaptchaExceptions by retrying the request once after a while
|
||||
try {
|
||||
return executeRequest(request);
|
||||
} catch (ReCaptchaException e) {
|
||||
try {
|
||||
// sleep for 35-60 seconds to circumvent the rate limit
|
||||
System.out.println("Throttling the RecordingDownloader to handle a ReCaptcha."
|
||||
+ " Sleeping for 35-60 seconds.");
|
||||
Thread.sleep(35_000 + throttleRandom.nextInt(25_000));
|
||||
} catch (InterruptedException ie) {
|
||||
// handle the exception gracefully because it's not critical for the test
|
||||
System.err.println("Error while throttling the RecordingDownloader.");
|
||||
ie.printStackTrace();
|
||||
e.printStackTrace();
|
||||
}
|
||||
return executeRequest(request);
|
||||
}
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
private Response executeRequest(@Nonnull final Request request) throws IOException,
|
||||
ReCaptchaException {
|
||||
final Downloader downloader = DownloaderTestImpl.getInstance();
|
||||
Response response = downloader.execute(request);
|
||||
String cleanedResponseBody = response.responseBody().replaceAll(IP_V4_PATTERN, "127.0.0.1");
|
||||
|
@ -1,31 +1,151 @@
|
||||
package org.schabi.newpipe.extractor.localization;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
class TimeAgoParserTest {
|
||||
private static TimeAgoParser timeAgoParser;
|
||||
public class TimeAgoParserTest {
|
||||
private static TimeAgoParser parser;
|
||||
private static OffsetDateTime now;
|
||||
|
||||
@BeforeAll
|
||||
static void setUp() {
|
||||
timeAgoParser = TimeAgoPatternsManager.getTimeAgoParserFor(Localization.DEFAULT);
|
||||
public static void setUp() {
|
||||
parser = TimeAgoPatternsManager.getTimeAgoParserFor(Localization.DEFAULT);
|
||||
now = OffsetDateTime.now(ZoneOffset.UTC);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetDuration() throws ParsingException {
|
||||
assertEquals(1, timeAgoParser.parseDuration("one second"));
|
||||
assertEquals(1, timeAgoParser.parseDuration("second"));
|
||||
assertEquals(49, timeAgoParser.parseDuration("49 seconds"));
|
||||
assertEquals(61, timeAgoParser.parseDuration("1 minute, 1 second"));
|
||||
void parseTimeAgo() throws ParsingException {
|
||||
assertTimeWithin1s(
|
||||
now.minusSeconds(1),
|
||||
parser.parse("1 second ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusSeconds(12),
|
||||
parser.parse("12 second ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusMinutes(1),
|
||||
parser.parse("1 minute ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusMinutes(23),
|
||||
parser.parse("23 minutes ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusHours(1),
|
||||
parser.parse("1 hour ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusHours(8),
|
||||
parser.parse("8 hours ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 day ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusDays(3).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 days ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusWeeks(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 week ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusWeeks(3).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 weeks ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusMonths(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 month ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusMonths(3).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 months ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusYears(1).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 year ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusYears(3).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 years ago").offsetDateTime()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetDurationError() {
|
||||
assertThrows(ParsingException.class, () -> timeAgoParser.parseDuration("abcd"));
|
||||
assertThrows(ParsingException.class, () -> timeAgoParser.parseDuration("12 abcd"));
|
||||
void parseTimeAgoShort() throws ParsingException {
|
||||
final TimeAgoParser parser = TimeAgoPatternsManager.getTimeAgoParserFor(Localization.DEFAULT);
|
||||
final OffsetDateTime now = OffsetDateTime.now(ZoneOffset.UTC);
|
||||
|
||||
assertTimeWithin1s(
|
||||
now.minusSeconds(1),
|
||||
parser.parse("1 sec ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusSeconds(12),
|
||||
parser.parse("12 sec ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusMinutes(1),
|
||||
parser.parse("1 min ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusMinutes(23),
|
||||
parser.parse("23 min ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusHours(1),
|
||||
parser.parse("1 hr ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minusHours(8),
|
||||
parser.parse("8 hr ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 day ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusDays(3).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 days ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusWeeks(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 wk ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusWeeks(3).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 wk ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusMonths(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 mo ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusMonths(3).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 mo ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusYears(1).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 yr ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minusYears(3).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 yr ago").offsetDateTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void assertTimeWithin1s(final OffsetDateTime expected, final OffsetDateTime actual) {
|
||||
final long delta = Math.abs(expected.toEpochSecond() - actual.toEpochSecond());
|
||||
assertTrue(delta <= 1, String.format("Expected: %s\nActual: %s", expected, actual));
|
||||
}
|
||||
}
|
||||
|
@ -232,8 +232,7 @@ public class YoutubeChannelExtractorTest {
|
||||
@Test
|
||||
@Override
|
||||
public void testTabs() throws Exception {
|
||||
assertTabsContain(extractor.getTabs(), ChannelTabs.VIDEOS,
|
||||
ChannelTabs.LIVESTREAMS, ChannelTabs.PLAYLISTS);
|
||||
assertTabsContain(extractor.getTabs(), ChannelTabs.VIDEOS, ChannelTabs.PLAYLISTS);
|
||||
assertTrue(extractor.getTabs().stream()
|
||||
.filter(it -> ChannelTabs.VIDEOS.equals(it.getContentFilters().get(0)))
|
||||
.allMatch(ReadyChannelTabListLinkHandler.class::isInstance));
|
||||
|
@ -40,7 +40,7 @@ public class YoutubeStreamExtractorLivestreamTest extends DefaultStreamExtractor
|
||||
|
||||
@Override public StreamExtractor extractor() { return extractor; }
|
||||
@Override public StreamingService expectedService() { return YouTube; }
|
||||
@Override public String expectedName() { return "lofi hip hop radio \uD83D\uDCDA - beats to relax/study to"; }
|
||||
@Override public String expectedName() { return "lofi hip hop radio \uD83D\uDCDA beats to relax/study to"; }
|
||||
@Override public String expectedId() { return ID; }
|
||||
@Override public String expectedUrlContains() { return YoutubeStreamExtractorDefaultTest.BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
@ -1,154 +0,0 @@
|
||||
package org.schabi.newpipe.extractor.utils;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||
import org.schabi.newpipe.extractor.localization.Localization;
|
||||
import org.schabi.newpipe.extractor.localization.TimeAgoParser;
|
||||
import org.schabi.newpipe.extractor.localization.TimeAgoPatternsManager;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
public class TimeagoTest {
|
||||
private static TimeAgoParser parser;
|
||||
private static OffsetDateTime now;
|
||||
|
||||
@BeforeAll
|
||||
public static void setUp() {
|
||||
parser = TimeAgoPatternsManager.getTimeAgoParserFor(Localization.DEFAULT);
|
||||
now = OffsetDateTime.now(ZoneOffset.UTC);
|
||||
}
|
||||
|
||||
@Test
|
||||
void parseTimeago() throws ParsingException {
|
||||
assertTimeWithin1s(
|
||||
now.minus(1, ChronoUnit.SECONDS),
|
||||
parser.parse("1 second ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(12, ChronoUnit.SECONDS),
|
||||
parser.parse("12 second ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(1, ChronoUnit.MINUTES),
|
||||
parser.parse("1 minute ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(23, ChronoUnit.MINUTES),
|
||||
parser.parse("23 minutes ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(1, ChronoUnit.HOURS),
|
||||
parser.parse("1 hour ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(8, ChronoUnit.HOURS),
|
||||
parser.parse("8 hours ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.DAYS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 day ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.DAYS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 days ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.WEEKS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 week ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.WEEKS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 weeks ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.MONTHS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 month ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.MONTHS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 months ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.YEARS).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 year ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.YEARS).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 years ago").offsetDateTime()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void parseTimeagoShort() throws ParsingException {
|
||||
final TimeAgoParser parser = TimeAgoPatternsManager.getTimeAgoParserFor(Localization.DEFAULT);
|
||||
final OffsetDateTime now = OffsetDateTime.now(ZoneOffset.UTC);
|
||||
|
||||
assertTimeWithin1s(
|
||||
now.minus(1, ChronoUnit.SECONDS),
|
||||
parser.parse("1 sec ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(12, ChronoUnit.SECONDS),
|
||||
parser.parse("12 sec ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(1, ChronoUnit.MINUTES),
|
||||
parser.parse("1 min ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(23, ChronoUnit.MINUTES),
|
||||
parser.parse("23 min ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(1, ChronoUnit.HOURS),
|
||||
parser.parse("1 hr ago").offsetDateTime()
|
||||
);
|
||||
assertTimeWithin1s(
|
||||
now.minus(8, ChronoUnit.HOURS),
|
||||
parser.parse("8 hr ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.DAYS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 day ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.DAYS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 days ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.WEEKS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 wk ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.WEEKS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 wk ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.MONTHS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 mo ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.MONTHS).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 mo ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(1, ChronoUnit.YEARS).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("1 yr ago").offsetDateTime()
|
||||
);
|
||||
assertEquals(
|
||||
now.minus(3, ChronoUnit.YEARS).minusDays(1).truncatedTo(ChronoUnit.HOURS),
|
||||
parser.parse("3 yr ago").offsetDateTime()
|
||||
);
|
||||
}
|
||||
|
||||
void assertTimeWithin1s(final OffsetDateTime expected, final OffsetDateTime actual) {
|
||||
final long delta = Math.abs(expected.toEpochSecond() - actual.toEpochSecond());
|
||||
assertTrue(delta <= 1, String.format("Expected: %s\nActual: %s", expected, actual));
|
||||
}
|
||||
}
|
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 18:09:57 GMT"
|
||||
"Sun, 10 Nov 2024 17:54:30 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 18:09:57 GMT"
|
||||
"Sun, 10 Nov 2024 17:54:30 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dAc2NF4wLV18; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 18:09:57 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003da4d0v1pvpMk; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:54:30 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:47:54 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:59 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:47:54 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:59 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dQ-hpT9jfKtU; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:47:54 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dj9_R69devYo; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:47:59 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -362,7 +362,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:47:56 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:19 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -382,7 +382,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtzVEVQR1dURHphWSjMquW0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgGA%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xd625b21ac0ea5a53\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23703445,23804281,23946420,23966208,23986028,23998056,24004644,24077241,24166867,24181174,24241378,24290971,24439361,24453989,24456089,24468724,24499533,24542367,24548627,24548629,24550458,24566687,24690004,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030101,51037346,51037353,51041512,51050361,51053689,51057848,51057851,51060353,51063643,51064835,51072748,51091058,51091331,51095478,51098297,51098299,51102410,51105630,51111738,51113658,51113661,51115184,51116067,51117319,51118932,51121939,51124104,51133103,51139379,51141472,51148688,51148974,51148983,51149607,51150450,51152050,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51163635,51165467,51165568,51169117,51170249,51172670,51172684,51172691,51172700,51172707,51172716,51172723,51172728,51173021,51173508,51175606,51176511,51178310,51178333,51178340,51178357,51178706,51178982,51182275,51183508,51183909,51184022,51184990,51186528,51186670,51189826,51190059,51190075,51190078,51190085,51190198,51190213,51190220,51190229,51190652,51193591,51194137,51195231,51196476,51196769,51197569,51197687,51197694,51197697,51197708,51199193,51200251,51200256,51200295,51200298,51200568,51201350,51201363,51201372,51201381,51201428,51201435,51201444,51201451,51201814,51203141,51203200,51204329,51204587,51204938,51207174,51207191,51207196,51207209,51209172,51210770,51211461,51212464,51212553,51212567,51213807,51217504,51219800,51221011,51221152,51222152,51222695,51223962,51224134,51224747,51224922,51225437,51226344,51227408,51227772,51227881,51227902,51228202,51228349,51228351,51228695,51228771,51228776,51228787,51228796,51228805,51228814,51229628,51230124,51230423,51230478,51230492,51232125,51232143,51232230,51233332,51235147,51237540,51238400,51238514,51238569,51238736,51240880,51240888,51241028,51241600\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIusK-7pKxhwMVBDPxBR08yQnhMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UC6nSFpj9HTCZ5t-N3Rm3-HA\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"Cgt2SjhfUUx2UnFmayjj48O5BjIKCgJERRIEEgAgRQ%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x3a41c164850da49a\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"9406121,23804281,23880829,23880835,23966208,23986021,24004644,24077241,24166867,24181174,24241378,24299873,24439361,24445497,24453989,24459436,24542367,24547317,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51030101,51037344,51037351,51050361,51053689,51057844,51057851,51063643,51064835,51072748,51091058,51095478,51098299,51101169,51111738,51115184,51117319,51124104,51129210,51133103,51134507,51141472,51144925,51151423,51152050,51156055,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178310,51178331,51178344,51178355,51178982,51182851,51183909,51184990,51194137,51195231,51204329,51213773,51217504,51221150,51222382,51222973,51223961,51226709,51227037,51227778,51228350,51230241,51230478,51231220,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51249749,51251836,51255676,51255680,51255743,51256074,51256084,51257900,51257911,51257916,51258066,51259133,51260456,51263449,51265335,51265364,51265369,51266454,51272458,51273608,51274583,51275782,51276557,51276565,51281227,51282069,51282086,51282792,51283950,51284503,51285052,51285417,51285717,51287196,51287500,51289926,51289935,51289938,51289952,51289961,51289970,51290043,51291889,51294322,51295132,51295578,51296439,51298019,51298020,51299154,51299710,51299724,51299977,51299999,51300010,51300176,51300241,51300699,51302492,51302680,51303667,51303669,51303789,51304004,51304155,51305839,51306259,51307502,51308045,51308060,51308871,51309313,51310323,51311031,51311034,51311505,51311520,51312150,51312688,51313149,51313767,51314158,51314669,51314681,51314692,51314699,51314710,51314727,51315041,51315914,51315919,51315926,51315935,51315940,51315949,51315956,51315963,51315968,51315979,51316415,51316749,51317749,51318845,51320778,51323366,51325576,51326208,51326527,51326641,51326762,51326932,51327144,51327165,51327178,51327614,51327636,51328144,51329146,51329227,51329392,51329506,51330194,51330660,51331481,51331500,51331522,51331531,51331538,51331547,51331554,51331561,51332896,51333739,51333878,51335364,51335570,51335973,51336632,51337186,51337349,51337702,51338495,51338524,51339163,51339747,51340618,51341226,51341729,51342093,51342576,51342845,51343110,51343368,51344672,51344926,51345126,51345228\"},{\"key\":\"visitor_data\",\"value\":\"Cgt2SjhfUUx2UnFmayjj48O5BjIKCgJERRIEEgAgRQ%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIxIjKt6nSiQMVJEF6BR10IyrwMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UC6nSFpj9HTCZ5t-N3Rm3-HA\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:49:35 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:56 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:49:35 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:56 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dZHHPT-DrXJQ; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:49:35 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dHEqrYtop-08; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:46:56 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:48:47 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:57 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:48:47 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:57 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003d9_8OVS-ITHc; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:48:47 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dw-_Feucl-TI; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:46:57 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -3,17 +3,17 @@
|
||||
"httpMethod": "POST",
|
||||
"url": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Cookie": [
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -374,7 +374,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:48:48 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:57 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -394,7 +394,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtiVTZPVEtWdkUtayiAq-W0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgMg%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xe140936d506561d9\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23946420,23966208,23986015,23998056,24004644,24077241,24108448,24166867,24181174,24241378,24290971,24439361,24453989,24456089,24468724,24542367,24543669,24548627,24548629,24550458,24566687,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030101,51037342,51037349,51041512,51050361,51053689,51057846,51057851,51060353,51063643,51064835,51072748,51087998,51091058,51091331,51095478,51098297,51098299,51102409,51111738,51113656,51113663,51115184,51116067,51118932,51124104,51126280,51131738,51133103,51139379,51141472,51144926,51148688,51148978,51148985,51149422,51149607,51150448,51152050,51153490,51157411,51157430,51157432,51157838,51157895,51158470,51158514,51160545,51160817,51162170,51163641,51165467,51165568,51170247,51172670,51172686,51172691,51172702,51172705,51172716,51172721,51172730,51173021,51175606,51176511,51177817,51178310,51178331,51178348,51178355,51178706,51178982,51182275,51183910,51184022,51184990,51186528,51186669,51186752,51189826,51190059,51190073,51190082,51190085,51190200,51190209,51190216,51190231,51190652,51195231,51196476,51196769,51197685,51197694,51197697,51197704,51199193,51199719,51200184,51200249,51200260,51200295,51200300,51200568,51201352,51201367,51201372,51201383,51201426,51201437,51201442,51201447,51201814,51203200,51204329,51204585,51207178,51207187,51207200,51207215,51211461,51212466,51212545,51212551,51212567,51213714,51213807,51213887,51217504,51219800,51221011,51221152,51222759,51222972,51223961,51224134,51224655,51224747,51224921,51225437,51226344,51226709,51227410,51227776,51227880,51227902,51228202,51228349,51228352,51228695,51228769,51228774,51228785,51228800,51228809,51228818,51229233,51230123,51230477,51230492,51231813,51232109,51232143,51236268,51237540,51237884,51238568,51238737,51240880,51240890,51241028,51241658,51241862\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMImfCdh5OxhwMVgEtPBB1-bw1fMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCEOXxzW2vU0P-0THehuIIeg\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtZNC1HTkNITGlOYyiR48O5BjIKCgJERRIEEgAgRg%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x89e1c78312cedec5\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23966208,23986027,24004644,24077241,24108448,24166867,24181174,24186125,24241378,24299875,24439361,24453989,24459436,24502053,24542367,24547316,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51030101,51037346,51037351,51043774,51050361,51053689,51057848,51057851,51063643,51064835,51072748,51091058,51095478,51098299,51111738,51115184,51117319,51119595,51124104,51129210,51133103,51134507,51141472,51152050,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178316,51178335,51178342,51178351,51178982,51182850,51183910,51184990,51195231,51204329,51213773,51217504,51221152,51222382,51222973,51223961,51225391,51227037,51227772,51228350,51230241,51230478,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51251836,51255676,51255680,51255743,51256074,51256084,51257563,51257904,51257911,51257914,51258066,51258612,51263448,51265335,51265362,51265367,51266454,51272458,51273608,51274583,51275785,51276557,51276565,51277311,51281227,51282071,51282082,51282792,51285052,51285419,51285717,51287196,51287500,51289922,51289935,51289938,51289952,51289963,51289972,51291319,51292055,51294322,51294589,51294590,51295132,51295578,51296439,51298019,51298021,51299626,51299710,51299724,51299977,51300005,51300018,51300176,51300241,51300699,51302492,51302680,51303667,51303669,51303789,51304155,51305032,51305494,51305691,51305839,51306259,51306545,51307502,51308045,51308060,51309313,51310323,51310742,51311025,51311038,51311147,51311505,51312144,51312688,51312880,51313149,51313767,51314158,51314679,51314694,51314701,51314710,51314729,51315041,51315910,51315921,51315926,51315931,51315940,51315945,51315954,51315959,51315972,51315977,51316747,51317748,51318844,51321167,51322670,51323366,51325576,51326208,51326233,51326527,51326641,51326767,51326932,51327144,51327163,51327178,51327636,51328144,51328948,51329227,51329505,51330194,51330662,51331198,51331487,51331502,51331518,51331535,51331538,51331547,51331552,51331563,51331691,51332896,51333739,51333878,51335646,51337187,51337350,51337854,51338523,51339163,51339517,51339747,51340616,51341226,51341757,51342093,51342468,51342740,51343110,51343368,51344663,51344727,51345228\"},{\"key\":\"visitor_data\",\"value\":\"CgtZNC1HTkNITGlOYyiR48O5BjIKCgJERRIEEgAgRg%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIuqqokKnSiQMVcWh6BR08NAEDMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCEOXxzW2vU0P-0THehuIIeg\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027;report-uri /cspreport"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:49:19 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:57 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:49:19 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:57 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dauHnMsX2TkQ; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:49:19 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dDum5dtfP5VQ; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:46:57 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:47:35 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:59 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:47:35 GMT"
|
||||
"Sun, 10 Nov 2024 17:46:59 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003doTOG10oOeIY; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:47:35 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003deZhZw_X0aHw; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:46:59 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -358,7 +358,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:47:36 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:05 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -378,7 +378,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"Cgt2Rm1wQklIYlhmVSi4quW0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgUQ%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x5b4ab0a81ff46292\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"9479112,23804281,23946420,23966208,23986033,23998056,24004644,24077241,24135942,24166867,24181174,24241378,24290971,24299873,24425061,24439361,24453989,24456089,24468724,24542367,24548627,24548629,24550458,24566687,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030103,51037342,51037353,51041512,51043554,51043998,51050361,51053689,51057844,51057851,51057863,51060353,51063643,51064835,51072748,51091058,51091331,51095478,51098297,51098299,51101170,51102409,51105628,51111738,51113658,51113661,51115184,51116067,51117318,51118932,51120721,51124104,51133103,51139379,51141472,51148037,51148688,51148978,51148981,51149607,51152050,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51163637,51165467,51165568,51170247,51172670,51172686,51172693,51172700,51172709,51172712,51172719,51172726,51175606,51176511,51177818,51178297,51178310,51178344,51178357,51178705,51178982,51181298,51182274,51183506,51183910,51184022,51184990,51186528,51187251,51189826,51190059,51190071,51190080,51190089,51190202,51190213,51190218,51190229,51190652,51191448,51195231,51196769,51197687,51197692,51197701,51197708,51199193,51200253,51200260,51200293,51200298,51200568,51201350,51201365,51201370,51201383,51201426,51201433,51201442,51201449,51201814,51203112,51204329,51204587,51207182,51207189,51207204,51207207,51211461,51212084,51212458,51212466,51212551,51212569,51213807,51217236,51217504,51219800,51219963,51221011,51221152,51222972,51223961,51224747,51224921,51225437,51226344,51227637,51227774,51227881,51228202,51228350,51228352,51228695,51228771,51228778,51228781,51228800,51228807,51228812,51230122,51230477,51230492,51231131,51231220,51232109,51232143,51232189,51232710,51234853,51235174,51235462,51237540,51237841,51238399,51238569,51238736,51240880,51240886,51241028,51241636,51241644,51242269\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMI3bWR5ZKxhwMVDEFPBB2x_wAnMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCYJ61XIK64sp6ZFFS8sctxw\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtiSkxMTlQ1NjlwOCiZ48O5BjIKCgJERRIEEgAgHQ%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x969100737f7caf2d\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23966208,23986025,24004644,24077241,24166867,24181174,24241378,24420425,24439361,24453989,24542367,24543669,24547317,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51043774,51050361,51053689,51063643,51064835,51072748,51091058,51095478,51098299,51107205,51111738,51115184,51117319,51124104,51129210,51133103,51135270,51141472,51144926,51152050,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178982,51179884,51182851,51183910,51184990,51195231,51204329,51213773,51217504,51222382,51222973,51223962,51227037,51227291,51228350,51230241,51230478,51230877,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51249751,51251836,51255676,51255680,51255743,51256074,51256084,51257939,51258066,51263449,51266454,51272458,51273608,51274583,51275782,51276557,51276565,51277535,51281227,51282792,51285052,51285717,51287196,51287500,51287509,51287510,51289938,51294322,51295132,51296439,51298019,51298021,51299627,51299710,51299724,51300176,51300241,51300699,51302492,51302680,51303667,51303669,51303789,51304155,51305032,51305839,51306259,51306416,51307502,51308045,51308060,51309313,51310323,51311505,51312688,51313149,51313767,51314158,51315041,51315245,51316749,51317749,51318845,51320400,51323366,51325523,51325576,51326207,51326641,51326703,51326932,51327636,51328144,51329227,51329506,51330194,51332896,51333739,51333878,51335973,51336056,51337186,51337350,51338524,51339163,51339747,51342093,51343110,51343368,51344412,51344725,51344926\"},{\"key\":\"visitor_data\",\"value\":\"CgtiSkxMTlQ1NjlwOCiZ48O5BjIKCgJERRIEEgAgHQ%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIrZColKnSiQMVD3R6BR3zPDaMMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCYJ61XIK64sp6ZFFS8sctxw\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:49:51 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:23 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:49:51 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:23 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dc9wErMbEWpQ; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:49:51 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dTDPINDDje70; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:47:23 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027;report-uri /cspreport"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:48:26 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:23 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:48:26 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:23 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dCZ8xidUhzf4; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:48:26 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dCwHorxLAtLA; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:47:23 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:50:19 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:20 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:50:19 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:20 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003d_U6D2v9w8QE; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:50:19 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dwLNTGYmBqa4; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:48:20 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -363,7 +363,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:50:21 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:20 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -383,7 +383,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"Cgt2UFRzSmhuM0J2SSjdq-W0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgVw%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x93cf961e95e44789\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23946420,23966208,23998056,24004644,24017848,24077241,24108447,24166867,24181174,24241378,24290971,24439361,24453989,24456089,24468724,24499533,24534951,24542367,24548627,24548629,24550458,24566687,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51041512,51043555,51050361,51053689,51060353,51063643,51064835,51072748,51091058,51091331,51095478,51098297,51098299,51101170,51102410,51111738,51115184,51116067,51118932,51119595,51124104,51133103,51139379,51141472,51146015,51148688,51149607,51152050,51155997,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51165467,51165568,51170249,51175606,51176511,51178705,51178982,51183909,51184022,51184990,51185141,51186528,51189826,51190652,51195231,51196180,51196769,51197711,51199193,51200569,51201814,51204329,51204585,51210036,51211461,51213715,51213807,51217504,51219800,51221011,51223961,51224135,51224747,51224921,51225437,51226344,51227881,51228202,51228350,51228352,51228695,51230477,51230492,51232143,51232684,51235463,51236950,51237540,51238568,51238736,51239209,51239303,51241029\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIzZ65s5OxhwMVE0RPBB33uQzmMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCeY0bbntWzzVIaj2z3QigXg\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"Cgt3YnlVWl9pM05IOCjk48O5BjIKCgJERRIEEgAgTw%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x6a6e1d1954f31f83\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23966208,23986015,24000320,24004644,24077241,24166867,24181174,24186125,24216873,24241378,24367823,24425063,24439361,24453989,24499534,24542367,24547317,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51030103,51037346,51037349,51050361,51053689,51057846,51057853,51063643,51064835,51072748,51091058,51095478,51098299,51111738,51115184,51117319,51124104,51129210,51133103,51141472,51144925,51152050,51156055,51157411,51157838,51158514,51160545,51165467,51169118,51176511,51178320,51178327,51178346,51178351,51178982,51179884,51182850,51183910,51184990,51195231,51204329,51213773,51217504,51221152,51222382,51222973,51223962,51227037,51227778,51228350,51230241,51230478,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51249751,51251836,51255676,51255680,51255743,51256074,51256084,51257900,51257907,51257916,51258066,51263449,51265345,51265358,51265367,51266454,51269139,51272458,51273608,51274583,51275782,51276557,51276565,51281227,51282073,51282088,51282792,51285052,51285419,51285717,51287196,51287500,51287509,51287510,51289484,51289922,51289933,51289938,51289956,51289965,51289970,51290045,51291810,51294322,51294906,51295132,51295578,51296439,51297232,51298019,51298021,51299710,51299724,51299973,51300005,51300018,51300176,51300241,51300699,51302492,51302680,51303666,51303667,51303670,51303789,51304155,51305496,51305839,51306259,51306417,51306559,51306871,51307502,51308045,51308060,51309313,51310323,51310742,51311025,51311036,51311505,51312144,51312688,51313110,51313149,51313767,51314158,51314685,51314696,51314705,51314718,51314727,51315041,51315914,51315919,51315928,51315931,51315942,51315945,51315959,51315972,51315977,51316415,51316749,51316846,51317749,51318243,51318844,51322163,51323366,51323555,51325576,51326207,51326281,51326641,51326652,51326760,51326932,51327122,51327144,51327167,51327182,51327636,51328144,51329227,51329506,51330194,51330316,51330398,51330475,51330662,51331197,51331483,51331504,51331520,51331529,51331538,51331547,51331556,51331563,51332896,51333739,51333879,51335366,51335646,51336660,51337186,51337350,51338524,51339162,51339163,51339747,51341226,51342093,51342575,51342741,51342847,51343109,51343244,51343368,51343866,51344672\"},{\"key\":\"visitor_data\",\"value\":\"Cgt3YnlVWl9pM05IOCjk48O5BjIKCgJERRIEEgAgTw%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIrbDwt6nSiQMVeVp6BR1kviADMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCeY0bbntWzzVIaj2z3QigXg\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:45:17 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:25 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:45:17 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:25 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dmt8ojN0j5ss; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:45:17 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003ds2PN637_j94; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:47:25 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,17 +3,17 @@
|
||||
"httpMethod": "POST",
|
||||
"url": "https://www.youtube.com/youtubei/v1/browse?prettyPrint\u003dfalse",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Cookie": [
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -255,12 +255,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -376,7 +376,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:45:19 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:45 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
|
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:49:01 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:45 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:49:01 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:45 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dqO-eHy3Kz4k; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:49:01 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dECiwETXt944; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:47:45 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:46:52 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:46 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:46:52 GMT"
|
||||
"Sun, 10 Nov 2024 17:47:46 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dCPnrnhg5fno; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:46:52 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dMXNUBrLOj0I; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:47:46 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:52:03 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:21 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:52:03 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:21 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dCy4aX6DBam4; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:52:03 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003d4hCTcf7rUXA; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:48:21 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:50 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:58 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:51:50 GMT"
|
||||
"Sun, 10 Nov 2024 17:48:58 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dgoEUVn3I_Gk; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:51:50 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dXTJBIfCZjcU; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:48:58 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:38 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:00 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:51:38 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:00 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003djgnm7tfpqYw; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:51:38 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dENzmdII1fQw; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:49:00 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -3,17 +3,17 @@
|
||||
"httpMethod": "POST",
|
||||
"url": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Cookie": [
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -361,7 +361,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:39 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:00 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -381,7 +381,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"Cgs5WUtfRXZBTXNKWSirrOW0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgEA%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xb264e2e3ad7e95b4\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"9407155,23804281,23946420,23966208,23998056,24004644,24007613,24077241,24108447,24166867,24173288,24181174,24241378,24266634,24290971,24378828,24439361,24453989,24456089,24468724,24499534,24542367,24548627,24548629,24550458,24566687,24697011,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030101,51037342,51037351,51041512,51050361,51053689,51057842,51057857,51060353,51063643,51064835,51072748,51076858,51091058,51091331,51095478,51098297,51098299,51102410,51111738,51113656,51113663,51115184,51116067,51117318,51118932,51124104,51133103,51139379,51141472,51148688,51148976,51148983,51149607,51152050,51157411,51157430,51157432,51157838,51158470,51158514,51159332,51160545,51162170,51163639,51165467,51165568,51169118,51170248,51172672,51172684,51172695,51172702,51172705,51172712,51172719,51172728,51175606,51176511,51177818,51178318,51178327,51178344,51178351,51178705,51178982,51182274,51183506,51183910,51184022,51184990,51186528,51189826,51190059,51190071,51190080,51190085,51190198,51190211,51190220,51190231,51190652,51191461,51195231,51196181,51196769,51197687,51197694,51197697,51197704,51199193,51200253,51200260,51200291,51200302,51200569,51201350,51201365,51201372,51201383,51201428,51201435,51201442,51201449,51201542,51201814,51202231,51202419,51204329,51204586,51207176,51207187,51207196,51207213,51207302,51211461,51212464,51212555,51212567,51213807,51217504,51218321,51219800,51220610,51221011,51221152,51223962,51224433,51224747,51224922,51225437,51226344,51226707,51227774,51227881,51228202,51228350,51228352,51228695,51228769,51228776,51228781,51228800,51228803,51228812,51229177,51230477,51230492,51231081,51232143,51232191,51232677,51235078,51236658,51237540,51238399,51238568,51238736,51239331,51240880,51240886,51241029\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIupvy2JOxhwMVIj3xBR24uQwtMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCq19-LqvG35A-30oyAiPiqA\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtwN252WUt4bnBCOCiM5MO5BjIKCgJERRIEEgAgKg%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xd104e5d714f830d7\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23966208,23986028,24004644,24077241,24166867,24181174,24186125,24241378,24439361,24453989,24542367,24547316,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51050361,51053689,51063643,51064835,51072748,51091058,51095478,51098299,51111738,51115184,51117319,51119595,51124104,51129210,51133103,51141472,51152050,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178982,51182851,51183910,51184990,51194136,51195231,51204329,51213773,51217504,51222382,51222973,51223962,51227037,51228350,51228849,51230241,51230478,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51249749,51251836,51255676,51255680,51255743,51256074,51256084,51258066,51263449,51264008,51266454,51272458,51273608,51274583,51275785,51276557,51276565,51281227,51282792,51285052,51285717,51287196,51287500,51289938,51292055,51294322,51294583,51294584,51295132,51296439,51298019,51298020,51299154,51299710,51299724,51300176,51300241,51300699,51302492,51302680,51303667,51303670,51303789,51304155,51305031,51305558,51305839,51306256,51306870,51307502,51308045,51308060,51308708,51309313,51310323,51310742,51311147,51311505,51312688,51313149,51313767,51314158,51315041,51316438,51316747,51317748,51318844,51319711,51320778,51323366,51325576,51326207,51326641,51326932,51327616,51327636,51328144,51329227,51329505,51330194,51331675,51332896,51333670,51333739,51333879,51335365,51337186,51337349,51337774,51338524,51339163,51339518,51339747,51341342,51342093,51342468,51343109,51343244,51343368,51343866,51344927\"},{\"key\":\"visitor_data\",\"value\":\"CgtwN252WUt4bnBCOCiM5MO5BjIKCgJERRIEEgAgKg%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMI0c70yqnSiQMV9SEGAB3RCT0gMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCq19-LqvG35A-30oyAiPiqA\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:17 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:00 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:51:17 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:00 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dB7ZQVZteI6U; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:51:17 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dKCR7WRhwlzM; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:49:00 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -365,7 +365,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:18 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:05 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -385,7 +385,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtiT1B0Rk1tQkhLVSiWrOW0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgQA%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xacf065d4845918b6\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23885487,23946420,23966208,23986017,23998056,24004644,24077241,24166867,24181174,24241378,24290971,24439361,24453989,24456089,24468724,24499534,24542367,24543669,24548627,24548629,24550458,24566687,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030103,51037344,51037351,51041512,51043774,51050361,51053689,51057848,51057855,51060353,51063643,51064835,51072748,51091058,51091331,51095478,51098297,51098299,51102409,51111738,51113658,51113663,51114642,51115184,51116067,51117319,51118932,51124104,51129247,51133103,51134506,51139379,51141472,51144925,51148688,51148978,51148985,51149306,51149607,51152050,51153492,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51163639,51165467,51165568,51170247,51172670,51172688,51172691,51172698,51172709,51172712,51172721,51172726,51173020,51175606,51175619,51176511,51178316,51178327,51178340,51178351,51178705,51178982,51182275,51183909,51184022,51184990,51186528,51187250,51189826,51190061,51190073,51190082,51190085,51190198,51190211,51190216,51190229,51190652,51194136,51195231,51196180,51196769,51197687,51197690,51197701,51197706,51199193,51200051,51200249,51200260,51200291,51200298,51200568,51201350,51201365,51201372,51201381,51201430,51201435,51201440,51201451,51201814,51202232,51204329,51204586,51207174,51207187,51207196,51207209,51208329,51209973,51211461,51212466,51212551,51212569,51213807,51216379,51217504,51217767,51218324,51219800,51220670,51221011,51221146,51223962,51224747,51224922,51225437,51226344,51227395,51227776,51227881,51228202,51228349,51228351,51228695,51228765,51228778,51228783,51228796,51228809,51228816,51230124,51230478,51230492,51231220,51232143,51235371,51235463,51237540,51238569,51238736,51239329,51240878,51240888,51241028,51241192,51241212,51241813,51243005,51243941\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIpef8zpOxhwMVcFBPBB32mQPCMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCR-DXc1voovS8nhAvccRZhg\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtsLVc4aXJYQTRpbyiR5MO5BjIKCgJERRIEEgAgFg%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x3b0f84f256641642\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23966208,23986016,24004644,24077241,24166867,24181174,24241378,24439361,24453989,24542367,24547316,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51030103,51037346,51037351,51043774,51050361,51053689,51057848,51057851,51063643,51064835,51072748,51091058,51095478,51098299,51111738,51115184,51117319,51124104,51129210,51133103,51141472,51144926,51151423,51152050,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178316,51178337,51178348,51178353,51178982,51182851,51183909,51184990,51195231,51199253,51204329,51213773,51213887,51217504,51219963,51221152,51222382,51222973,51223961,51227037,51227774,51228350,51230241,51230478,51231814,51237842,51239093,51241028,51242448,51243940,51248255,51248734,51249749,51251836,51255676,51255680,51255743,51256074,51256084,51257895,51257900,51257911,51257918,51258066,51263449,51265339,51265362,51265375,51266454,51268346,51272458,51273608,51274583,51275782,51276557,51276565,51281227,51282075,51282080,51282792,51285052,51285417,51285717,51287196,51287500,51289483,51289924,51289933,51289938,51289956,51289961,51289970,51290204,51291888,51292054,51294322,51295132,51295576,51296439,51298019,51298021,51299519,51299710,51299724,51299979,51299999,51300008,51300176,51300241,51300699,51302492,51302680,51303667,51303669,51303789,51304155,51304660,51304730,51305311,51305839,51306256,51306543,51306559,51307502,51308045,51308060,51308709,51309314,51310323,51310742,51311027,51311036,51311505,51312146,51312688,51312881,51313149,51313767,51314158,51314683,51314696,51314701,51314714,51314729,51315041,51315910,51315921,51315928,51315935,51315942,51315949,51315956,51315963,51315968,51315975,51316174,51316416,51317749,51318074,51318243,51318844,51323366,51325522,51325576,51326207,51326286,51326641,51326932,51327138,51327169,51327182,51327636,51328144,51328902,51329144,51329227,51329506,51329696,51330194,51331487,51331500,51331520,51331531,51331542,51331549,51331556,51331559,51332858,51332896,51333543,51333739,51333878,51336665,51337187,51337349,51337456,51337855,51338470,51338524,51339163,51339747,51340611,51341228,51341729,51342090,51342093,51342298,51342446,51342575,51343109,51343243,51343368,51344663,51344672,51345230\"},{\"key\":\"visitor_data\",\"value\":\"CgtsLVc4aXJYQTRpbyiR5MO5BjIKCgJERRIEEgAgFg%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIm56wzanSiQMVoF96BR37ESIDMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCR-DXc1voovS8nhAvccRZhg\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:07 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:34 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:51:07 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:34 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dw9VR4AUigv4; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:51:07 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dciZmI0rA5B8; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:49:34 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -359,7 +359,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:51:08 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:34 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -379,7 +379,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgstcFYyWThEelA2VSiMrOW0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgMg%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xd3d3538277ffc4e2\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23946420,23966208,23986021,23998056,24004644,24077241,24166867,24181174,24241378,24290971,24367823,24439361,24453989,24456089,24457854,24468724,24542367,24548627,24548629,24550458,24566687,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030103,51037346,51037353,51041512,51050361,51053689,51057842,51057851,51060353,51063643,51064835,51072748,51087997,51091058,51091331,51095478,51098297,51098299,51102409,51111738,51113656,51113663,51115184,51116067,51118932,51124104,51133103,51139379,51141472,51144925,51148688,51148974,51148981,51149607,51152050,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51163637,51165467,51165568,51169117,51170247,51172670,51172686,51172691,51172702,51172709,51172716,51172723,51172726,51172920,51175606,51176511,51177817,51178320,51178331,51178346,51178351,51178706,51178982,51182275,51183506,51183910,51184022,51184990,51186528,51189826,51190059,51190075,51190078,51190087,51190200,51190209,51190216,51190227,51190652,51195231,51196769,51197685,51197692,51197701,51197704,51199193,51200251,51200256,51200291,51200302,51200569,51201352,51201363,51201370,51201385,51201428,51201435,51201440,51201449,51201814,51203145,51203200,51204329,51204585,51207176,51207187,51207202,51207207,51209049,51211461,51211864,51212464,51212546,51212553,51212567,51213807,51217504,51218324,51219800,51221011,51221150,51222382,51223962,51224747,51224921,51225437,51226344,51226683,51227776,51227880,51227903,51228202,51228349,51228351,51228695,51228765,51228776,51228781,51228796,51228809,51228818,51230123,51230478,51230492,51230886,51231083,51232143,51232189,51232678,51236254,51237540,51238070,51238569,51238736,51239404,51240133,51240878,51240888,51241028,51241645\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIyqKHypOxhwMV6YKxAx1bewjjMghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UC2DjFE7Xf11URZqWBigcVOQ\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtBdGJnQm9rRFhmWSiu5MO5BjIKCgJERRIEEgAgHw%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xd9fdd210611c51cf\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"9453586,9453587,23804281,23966208,23986016,24004644,24077241,24108447,24166867,24181174,24241378,24439361,24453989,24534952,24542367,24543669,24547316,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51050361,51053689,51063643,51064835,51072748,51091058,51095478,51098299,51101170,51111738,51115184,51117319,51124104,51129210,51133103,51141472,51152050,51157411,51157838,51158514,51160545,51165467,51169118,51176511,51177818,51178982,51182850,51183909,51184990,51195231,51204329,51213773,51217504,51222382,51222973,51223962,51224489,51227037,51228350,51230241,51230478,51231814,51237842,51239093,51239210,51241028,51242448,51243940,51248255,51248734,51251836,51255676,51255680,51255743,51256074,51256084,51258066,51263449,51266454,51272458,51273608,51274583,51275785,51276557,51276565,51281227,51282792,51285052,51285717,51287196,51287500,51289938,51294322,51295132,51296439,51297233,51298019,51298021,51299710,51299724,51300176,51300241,51300699,51302492,51302680,51303665,51303667,51303670,51303789,51304155,51305839,51306259,51307502,51308045,51308060,51309313,51310323,51310742,51311146,51311505,51312688,51313149,51313767,51314158,51315041,51317749,51317787,51318845,51321590,51323366,51325576,51326207,51326282,51326641,51326932,51327636,51328144,51329227,51329505,51330194,51332896,51333739,51333879,51335734,51336160,51337187,51337349,51338440,51338524,51339163,51339518,51339522,51339747,51342093,51343110,51343244,51343368\"},{\"key\":\"visitor_data\",\"value\":\"CgtBdGJnQm9rRFhmWSiu5MO5BjIKCgJERRIEEgAgHw%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIq8CL26nSiQMVkkN6BR0DNTMRMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UC2DjFE7Xf11URZqWBigcVOQ\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -35,7 +35,7 @@
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
"require-trusted-types-for \u0027script\u0027;report-uri /cspreport"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
@ -44,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Sun, 08 Sep 2024 15:45:44 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:34 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Sun, 08 Sep 2024 15:45:44 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:34 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -65,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dbsHskp20CKw; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 13-Dec-2021 15:45:44 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003d9-fGwlPnwcs; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:49:34 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:50:38 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:35 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:50:38 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:35 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dorRvq5GxUFg; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:50:38 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dcNuGopQTUI8; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:49:35 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
"SOCS\u003dCAE\u003d"
|
||||
],
|
||||
"X-YouTube-Client-Version": [
|
||||
"2.20240718.01.00"
|
||||
"2.20241107.11.00"
|
||||
],
|
||||
"X-YouTube-Client-Name": [
|
||||
"1"
|
||||
@ -229,12 +229,12 @@
|
||||
48,
|
||||
50,
|
||||
52,
|
||||
49,
|
||||
49,
|
||||
48,
|
||||
55,
|
||||
49,
|
||||
56,
|
||||
46,
|
||||
48,
|
||||
49,
|
||||
49,
|
||||
46,
|
||||
48,
|
||||
@ -371,7 +371,7 @@
|
||||
"application/json; charset\u003dUTF-8"
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:50:40 GMT"
|
||||
"Sun, 10 Nov 2024 17:49:50 GMT"
|
||||
],
|
||||
"server": [
|
||||
"scaffolding on HTTPServer2"
|
||||
@ -391,7 +391,7 @@
|
||||
"0"
|
||||
]
|
||||
},
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtXOWg2dWw1aWJmQSjwq-W0BjIiCgJGUhIcEhgSFgsMDg8QERITFBUWFxgZGhscHR4fICEgQA%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20240718.01.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0x20c1814386662cec\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"23804281,23813628,23946420,23952866,23966208,23998056,24004644,24017848,24077241,24166867,24181174,24241378,24290971,24439361,24445499,24453989,24456089,24468724,24542367,24548627,24548629,24550458,24552800,24566687,24699899,39325854,39326848,39326916,51009781,51010235,51016856,51017346,51020570,51025415,51030101,51037330,51037342,51037353,51041512,51043554,51050361,51053689,51057846,51057853,51060353,51063643,51064835,51072748,51091058,51091331,51095478,51098297,51098299,51102409,51111738,51113658,51113663,51115184,51116067,51118932,51124104,51133103,51139379,51141472,51144926,51148688,51148978,51148985,51148990,51149607,51152050,51153490,51157411,51157430,51157432,51157838,51158470,51158514,51160545,51162170,51163637,51165467,51165568,51169117,51170248,51172672,51172686,51172695,51172698,51172707,51172712,51172721,51172728,51175606,51175698,51176511,51177013,51178316,51178335,51178344,51178353,51178705,51178982,51183909,51184022,51184990,51186528,51189826,51190061,51190071,51190078,51190089,51190200,51190209,51190216,51190227,51190652,51194137,51195231,51196769,51197687,51197690,51197699,51197704,51199193,51199253,51200249,51200256,51200293,51200300,51200569,51201348,51201367,51201372,51201381,51201430,51201437,51201442,51201449,51201814,51203114,51203200,51204329,51204586,51207178,51207191,51207200,51207209,51207791,51208358,51208473,51211461,51212464,51212546,51212555,51212567,51213715,51213807,51213887,51217504,51219800,51221011,51221148,51223962,51224135,51224747,51224921,51225437,51226344,51226707,51226936,51227778,51227880,51228202,51228350,51228351,51228695,51228771,51228778,51228785,51228798,51228803,51228814,51229176,51229233,51230423,51230477,51230492,51231128,51232129,51232143,51235462,51237540,51238568,51238737,51240880,51240886,51241029,51241220,51243746,51243940\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20240718\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMIkYzCvJOxhwMVvizxBR1RgwZ9MghleHRlcm5hbJoBAA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCTwECeGqMZee77BjdoYtI2Q\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"responseBody": "{\"responseContext\":{\"visitorData\":\"CgtuMHRNQ29faE51WSi-5MO5BjIKCgJERRIEEgAgXQ%3D%3D\",\"serviceTrackingParams\":[{\"service\":\"CSI\",\"params\":[{\"key\":\"c\",\"value\":\"WEB\"},{\"key\":\"cver\",\"value\":\"2.20241107.11.00\"},{\"key\":\"yt_li\",\"value\":\"0\"},{\"key\":\"ResolveUrl_rid\",\"value\":\"0xc7d8970248710212\"}]},{\"service\":\"GFEEDBACK\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"},{\"key\":\"e\",\"value\":\"9407155,23804281,23966208,23986034,24004644,24077241,24166867,24181174,24241378,24439361,24453989,24534952,24542367,24547316,24548629,24566687,24699899,39325854,39326986,51009781,51010235,51017346,51020570,51025415,51050361,51053689,51063643,51064835,51072748,51091058,51095478,51098299,51111738,51115184,51117319,51124104,51129210,51133103,51141472,51152050,51157411,51157841,51158514,51160545,51165467,51169118,51176511,51178982,51182850,51183909,51184990,51195231,51204329,51213773,51217504,51222382,51222973,51223961,51227037,51228350,51230241,51230478,51231814,51237842,51239093,51239210,51241028,51242448,51243940,51248255,51248734,51251836,51255676,51255680,51255743,51256074,51256084,51258066,51263448,51266454,51272458,51273608,51274583,51275782,51276557,51276565,51280640,51281227,51282792,51285052,51285717,51287196,51287500,51289938,51292055,51294322,51295132,51296439,51298019,51298021,51299710,51299724,51300176,51300241,51300699,51302492,51302680,51303667,51303670,51303789,51304155,51305839,51306256,51307502,51308045,51308060,51309313,51310323,51310742,51311505,51312688,51313109,51313149,51313767,51314158,51315041,51316415,51317749,51318844,51323366,51325576,51326208,51326641,51326932,51327636,51328144,51329227,51329505,51329695,51330194,51331331,51332896,51333739,51333878,51334406,51335366,51336162,51337186,51337349,51338524,51339163,51339703,51339747,51342093,51343110,51343243,51343368,51345125\"},{\"key\":\"visitor_data\",\"value\":\"CgtuMHRNQ29faE51WSi-5MO5BjIKCgJERRIEEgAgXQ%3D%3D\"}]},{\"service\":\"GUIDED_HELP\",\"params\":[{\"key\":\"logged_in\",\"value\":\"0\"}]},{\"service\":\"ECATCHER\",\"params\":[{\"key\":\"client.version\",\"value\":\"2.20241107\"},{\"key\":\"client.name\",\"value\":\"WEB\"}]}],\"mainAppWebResponseContext\":{\"loggedOut\":true},\"webResponseContextExtensionData\":{\"hasDecorated\":true}},\"endpoint\":{\"clickTrackingParams\":\"IhMI3uv94qnSiQMVPGh6BR0boxYkMghleHRlcm5hbA\u003d\u003d\",\"commandMetadata\":{\"webCommandMetadata\":{\"url\":\"/youtubei/v1/navigation/resolve_url\",\"webPageType\":\"WEB_PAGE_TYPE_CHANNEL\",\"rootVe\":3611,\"apiUrl\":\"/youtubei/v1/browse\"},\"resolveUrlCommandMetadata\":{\"isVanityUrl\":true}},\"browseEndpoint\":{\"browseId\":\"UCTwECeGqMZee77BjdoYtI2Q\",\"params\":\"EgC4AQCSAwDyBgQKAjIA\"}}}",
|
||||
"latestUrl": "https://www.youtube.com/youtubei/v1/navigation/resolve_url?prettyPrint\u003dfalse"
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@
|
||||
"httpMethod": "GET",
|
||||
"url": "https://www.youtube.com/sw.js",
|
||||
"headers": {
|
||||
"Referer": [
|
||||
"Origin": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Origin": [
|
||||
"Referer": [
|
||||
"https://www.youtube.com"
|
||||
],
|
||||
"Accept-Language": [
|
||||
@ -34,6 +34,9 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027"
|
||||
],
|
||||
"content-type": [
|
||||
"text/javascript; charset\u003dutf-8"
|
||||
],
|
||||
@ -41,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:58:40 GMT"
|
||||
"Sun, 10 Nov 2024 17:50:11 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:58:40 GMT"
|
||||
"Sun, 10 Nov 2024 17:50:11 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -62,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003d0bbjaQ9LVUc; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:58:40 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003d5wrCcG_0vwk; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:50:11 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -34,7 +34,7 @@
|
||||
"cache-control": [
|
||||
"private, max-age\u003d0"
|
||||
],
|
||||
"content-security-policy-report-only": [
|
||||
"content-security-policy": [
|
||||
"require-trusted-types-for \u0027script\u0027;report-uri /cspreport"
|
||||
],
|
||||
"content-type": [
|
||||
@ -44,10 +44,10 @@
|
||||
"same-origin; report-to\u003d\"youtube_main\""
|
||||
],
|
||||
"date": [
|
||||
"Thu, 18 Jul 2024 17:59:07 GMT"
|
||||
"Sun, 10 Nov 2024 17:50:12 GMT"
|
||||
],
|
||||
"expires": [
|
||||
"Thu, 18 Jul 2024 17:59:07 GMT"
|
||||
"Sun, 10 Nov 2024 17:50:12 GMT"
|
||||
],
|
||||
"origin-trial": [
|
||||
"AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9"
|
||||
@ -65,8 +65,8 @@
|
||||
"ESF"
|
||||
],
|
||||
"set-cookie": [
|
||||
"YSC\u003dTWuTe_-ZFBI; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dFri, 22-Oct-2021 17:59:07 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
"YSC\u003dgY5pUhCcs7s; Domain\u003d.youtube.com; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone",
|
||||
"VISITOR_INFO1_LIVE\u003d; Domain\u003d.youtube.com; Expires\u003dMon, 14-Feb-2022 17:50:12 GMT; Path\u003d/; Secure; HttpOnly; SameSite\u003dnone"
|
||||
],
|
||||
"strict-transport-security": [
|
||||
"max-age\u003d31536000"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user