Compare commits

...

9 Commits

Author SHA1 Message Date
Isira Seneviratne
b27aa3a87b
Merge c06b8731f1 into 9fb03f6c87 2024-11-20 20:10:11 +01:00
Stypox
9fb03f6c87
Merge pull request #1192 from TeamNewPipe/user-agent
[tests] Update user agent
2024-11-18 17:13:55 +01:00
TobiGr
e4a1a6ecd8 Fix tests 2024-11-17 21:38:47 +01:00
TobiGr
727e791602 [YouTube] Update mocks 2024-11-17 21:38:46 +01:00
TobiGr
d635d4db2a Make RecordingDownloader more resillient against ReCaptchaExceptions
Implement a max number of requests per minute to prevent hitting reate limits and triggering ReCaptchaExceptions. This slows down the RecordingDownloader significantly and can be adjusted if needed. A request ist retried once when facing a ReCaptchaException.
2024-11-17 21:38:46 +01:00
Stypox
ea1a1d1375
Merge pull request #1242 from TeamNewPipe/revert-1205-feature-branch
Revert "Refactored Identifiers"
2024-11-16 14:01:10 +01:00
Stypox
c00d0a7028
Revert "Refactored Identifiers (#1205)"
This reverts commit 0de224124b.
2024-11-16 14:00:38 +01:00
TobiGr
667c867ad8 Update user agent to Firefox ESR 128 2024-11-10 17:27:22 +01:00
Isira Seneviratne
c06b8731f1 Remove unused method in TimeAgoParser 2024-08-19 11:38:07 +05:30
375 changed files with 14409 additions and 14841 deletions

View File

@ -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;
}
/**

View File

@ -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+", ""));

View File

@ -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;
}
/**

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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");

View File

@ -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));
}
}

View File

@ -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));

View File

@ -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; }

View File

@ -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));
}
}

View File

@ -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

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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"

View File

@ -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"
}
}

View File

@ -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"

View File

@ -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